私が解決しようとしている問題は次のとおりです。
文字列を指定すると、最初の 2 文字のいずれかまたは両方が「x」の場合、それらの「x」文字を除いた文字列を返し、それ以外の場合は文字列を変更せずに返します。これは見た目よりも少し難しいです。
withoutX2("xHi") → "Hi"
withoutX2("Hxi") → "Hi"
withoutX2("Hi") → "Hi"
そして、私が持っている正規表現ソリューションは...機能しません。単語から最初x
の単語を削除することはできますが、2 番目の単語を削除するのx
は非常に面倒です。この例では、正規表現で、他の文字を邪魔することなく 2 番目の文字を削除できるかどうかを知りたいです。
私が試したこと:
return str.replaceFirst("^.x", "");
これは単に最初の 2 文字を""
意図しない に置き換えるだけです。2番目の文字のみを置き換えたいです。