如何在特定字母后检查String是否有字母?

时间:2014-03-30 14:20:41

标签: java regex string

示例:

String letter = "abc+ab.c+abc.ab";

如何在最后.之后检查字符串字母是否包含+

4 个答案:

答案 0 :(得分:1)

你可以做类似的事情:

for (int i = 0; i < letter.length() - 1; i++) {

   if (letter.charAt(i) == '0' {

       if (letter.charAt(i+1) == 'c' {
          execute desired action here;
       }
   }
}

答案 1 :(得分:1)

试试这个:

public boolean hasLetter(String string, char afterLetter, char letter) {
    int index = string.indexOf(afterLetter);

    if (index == -1 || index == string.length() -1) {
        return false;
    }

    if (string.charAt(index+1) == letter) {
        return true;
    }
    return false;

}

答案 2 :(得分:1)

关于修改后的问题:在.字符之后的任何时间匹配+

Letter.matches(".*\\+.*\\..*");

注意:您必须使用+转义.\\以匹配点和加字符,因为这些在正则表达式中具有特殊含义。

更新:如果您只想匹配最后+之后有一个点,那么您可以这样做:

Letter.matches(".*\\+.*\\.[^+]*");

其中[^+]部分表示除+以外的任何字符。

BTW:由于命名惯例,我会将您的字符串命名为letter而不是Letter

答案 3 :(得分:0)

尝试使用

Letter.matches(".*0c.*");