文字列「ABC DE」、「ABC FE」、「ABC RE」があります。2文字間の文字の置き換え方法は?
どのように正規表現を使用してABCとEの間に文字を置換するには?
あなたはおそらく代わりに"ABC(.*?)E"
で正規表現replaceAll
を使用したい正規表現でこれをやろうと
str.replace((ABC)[^*](E), 'G');
文字列「ABC DE」、「ABC FE」、「ABC RE」があります。2文字間の文字の置き換え方法は?
どのように正規表現を使用してABCとEの間に文字を置換するには?
あなたはおそらく代わりに"ABC(.*?)E"
で正規表現replaceAll
を使用したい正規表現でこれをやろうと
str.replace((ABC)[^*](E), 'G');
あなたが "ABC" と "E" との間で表示されるすべての文字を削除したい場合は、あなたが先読みしてreplaceAll()
メソッドを介してこれを実現できます。
String[] strings = { "ABC DE", "ABC FE", "ABC RE" };
for(int s = 0; s < strings.length; s++){
// Update each string, replacing these characters with a G
strings[s] = strings[s].replaceAll("(?<=ABC).*(?=E)","G"));
}
同様に、明示的に単純(?<=ABC).*(?=E)
を使用して先読みからそれを削除し、「ABC」の後にスペースを望んでいなかった場合。
あなたはsee an interactive example of this hereをすることができます。
が動作しない、OPはG. – Tunaki
@Tunakiを希望する場合、空の文字列に置き換え同じ基本的な考え方がまだ成立している。 –
を交換してください。
str = str.replaceAll("ABC(.*?)E", "G");
説明:
ABC matches the characters ABC literally (case sensitive)
1st Capturing group (.*?)
.*? matches any character (except newline)
Quantifier: *? Between zero and unlimited times, as few times as possible, expanding as needed [lazy]
E matches the character E literally (case sensitive)
「ABC GE」の結果は何ですか? –
文字列を "ABC GE"に設定するだけではどうですか? – Laurel
( "$ 2 $ 1G"、 "(ABC)[^ *](E)")もしそうなら... 'str.replaceAll;' –