如果我有一个字符串 str 是:a>b
查找字符串 str 是否有一个的最佳方法是什么>
?我使用:
delimiter =">"
str.split(delimter)
或者
str.contains(">")
还是正则表达式?实际上我更喜欢使用正则表达式,在这种情况下如何使用正则表达式?
谢谢您的帮助
如果我有一个字符串 str 是:a>b
查找字符串 str 是否有一个的最佳方法是什么>
?我使用:
delimiter =">"
str.split(delimter)
或者
str.contains(">")
还是正则表达式?实际上我更喜欢使用正则表达式,在这种情况下如何使用正则表达式?
谢谢您的帮助
这将是
System.out.println("a>b".matches(".*>.*"));
但在这种情况下,我会选择contains
那很容易。实际上,您不需要把整个 Pattern 定义搞得一团糟。你可以打电话给比赛。
str.matches(".*>.*");
String.indexOf()
返回字符串中第一次出现指定字符或子字符串的索引
你也可以使用
String.contains()
检查字符串是否包含指定的 char 值序列
您可以使用 indexOf(int ch) 函数(在 java.lang.String 中找到)。它返回字符串中字符的位置或失败时返回 -1。例子:
String s="a>b";
if(s.indexOf('>')!=-1) {
System.out.println("> is in there");
}
注意:它搜索第一次出现的字符或子字符串。
我认为您不应该在这里使用正则表达式。但如果你想使用它,你可以试试这个功能。
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 )