删除相同的特定字符
Remove the same occurrence of specific characters
我想从放在每个元音之前的字符串中删除 "OB"。
例如:"THIS IS SOME REALLY GREAT BOLD TEXT" & 添加 OB 后:"THOBISOBISSOBOMOBEROBEOBALLYGROBEOBATBOBOLDTOBEXT"
那是我写的方法。
public static String unObify(String param) {
String deleteOB = param.replaceAll("[OB]", "");
return deleteOB;
}
输出:THISISSMEREALLYGREATLDTEXT
但问题是此方法还会删除我的字符串中的 O 和 B。我只想删除一个接一个发生的OB。
删除 []
并写入 .replaceAll("OB(?=[AaEeIiOoUu])", "");
。
[]
表示单独匹配 []
中的任何内容
使用当前的正则表达式 [OB]
,您指定一个匹配 O
或 B
.
的字符 class
如果你想在每个元音之前替换 OB
,你可以使用正向预测来断言后面是一个元音:
或者正如@Tim Biegeleisen 指出的那样,使用使先行不区分大小写:
OB(?=(?i)[AEIOU](?-i))
要么
OB(?=[aeiouAEIOU])
public static String unObify(String param) {
String deleteOB = param.replaceAll("OB(?=[AEIOU])", "");
return deleteOB;
}
那将取代
THOBISOBISSOBOMOBEROBEOBALLYGROBEOBATBOBOLDTOBEXT
到
THISISSOMEREALLYGREATBOLDTEXT
和
THOBSOBISSOBOMOBEROBEOBALLYGROBEOBATBOBOLDTOBEXT
到
THOBSISSOMEREALLYGREATBOLDTEXT
我想从放在每个元音之前的字符串中删除 "OB"。 例如:"THIS IS SOME REALLY GREAT BOLD TEXT" & 添加 OB 后:"THOBISOBISSOBOMOBEROBEOBALLYGROBEOBATBOBOLDTOBEXT" 那是我写的方法。
public static String unObify(String param) {
String deleteOB = param.replaceAll("[OB]", "");
return deleteOB;
}
输出:THISISSMEREALLYGREATLDTEXT
但问题是此方法还会删除我的字符串中的 O 和 B。我只想删除一个接一个发生的OB。
删除 []
并写入 .replaceAll("OB(?=[AaEeIiOoUu])", "");
。
[]
表示单独匹配 []
中的任何内容
使用当前的正则表达式 [OB]
,您指定一个匹配 O
或 B
.
如果你想在每个元音之前替换 OB
,你可以使用正向预测来断言后面是一个元音:
或者正如@Tim Biegeleisen 指出的那样,使用使先行不区分大小写:
OB(?=(?i)[AEIOU](?-i))
要么
OB(?=[aeiouAEIOU])
public static String unObify(String param) {
String deleteOB = param.replaceAll("OB(?=[AEIOU])", "");
return deleteOB;
}
那将取代
THOBISOBISSOBOMOBEROBEOBALLYGROBEOBATBOBOLDTOBEXT
到
THISISSOMEREALLYGREATBOLDTEXT
和
THOBSOBISSOBOMOBEROBEOBALLYGROBEOBATBOBOLDTOBEXT
到
THOBSISSOMEREALLYGREATBOLDTEXT