使用java,在字符串中查找单词的方法有哪些?

时间:2011-03-27 04:00:23

标签: java regex pattern-matching string-matching

如果我有一个字符串str:a>b
如果字符串str有>,最好的方法是什么?我使用:

delimiter =">"
str.split(delimter)


str.contains(">")

还是正则表达式?实际上我更喜欢使用正则表达式,在这种情况下如何使用正则表达式?

感谢您的帮助

5 个答案:

答案 0 :(得分:3)

这将是

System.out.println("a>b".matches(".*>.*"));

但在这种情况下,我会选择contains

答案 1 :(得分:0)

那个很容易。实际上,您不需要完成整个Pattern定义的混乱。你可以打电话给匹配。

str.matches(".*>.*");

答案 2 :(得分:0)

String.indexOf()返回指定字符或子字符串第一次出现的字符串中的索引

您也可以使用

String.contains()检查字符串是否包含指定的char值序列

答案 3 :(得分:0)

你可以使用indexOf(int ch)函数(在java.lang.String中找到)。它返回字符串中字符的位置或失败时返回-1。 例如:

String s="a>b";
if(s.indexOf('>')!=-1) {
   System.out.println("> is in there");
}

注意:它会搜索第一次出现的charcter或substring。

答案 4 :(得分:0)

我认为你不应该在这里使用正则表达式。但是如果你想使用它,你可以尝试这个功能。

private int getWordCount(String word,String source){
        int count = 0;
        {
            Pattern p = Pattern.compile(word);
            Matcher m = p.matcher(source);
            while(m.find()) count++;
        }
        return count;
    }

您可以调用if(getWordCount(“>”,“a> b”)> 0)S.o.p(“String contains>”);

谢谢,

Mayur Shah(www.MayurShah.in