请有人告诉我如何匹配“_”和句号“.”使用正则表达式在字符串中激动一次,使用indexOf()而不是正则表达式也更有效.
String s= "Hello_Wor.ld" or s="12323_!£££$.asdfasd"
基本上任何字符都不能出现在_和之前和之后.唯一的要求是整个字符串只应包含一个_和的出现.
解决方法
indexOf将比正则表达式快得多,并且可能也更容易理解.
只测试indexOf(‘_’)> = 0,然后测试indexOf(‘_’,indexOfFirstUnderscore)< 0.在此期间做同样的事情.
private boolean containsOneAndOnlyOne(String s,char c) { int firstIndex = s.indexOf(c); if (firstIndex < 0) { return false; } int secondIndex = s.indexOf(c,firstIndex + 1); return secondIndex < 0; }