2

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

delimiter =">"
str.split(delimter)

或者

str.contains(">")

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

谢谢您的帮助

4

5 回答 5

3

这将是

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

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

于 2011-03-27T04:03:33.477 回答
0

那很容易。实际上,您不需要把整个 Pattern 定义搞得一团糟。你可以打电话给比赛。

str.matches(".*>.*");
于 2011-03-27T04:04:39.937 回答
0

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

你也可以使用

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

于 2011-03-27T04:07:00.770 回答
0

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

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

注意:它搜索第一次出现的字符或子字符串。

于 2011-03-27T12:33:41.293 回答
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) Sop("String contains >");

谢谢,

Mayur Shah ( www.MayurShah.in )

于 2012-03-14T23:12:09.783 回答