我正在尝试查找字符串"TC 1 - TC 24"
中出现连字符-
的位置。为此,我使用了
"TC 1 - TC 24".contains(" \\-")
但是上面的表达式没有返回true
。我做错了什么?
代码如下所示:
if("TC 1 - TC 24".contains(" \\- ") == true) {
//print something
}
发布于 2018-08-30 02:17:26
如果提供的字符串包含指定的字符值序列,则java中的Contains
关键字将返回true
因此,下面的字符串返回True,因为它包含连字符。但是,我们不能计算“不”。出现连字符的次数。
if ("TC 1 - TC- 24".contains("-")) {
System.out.println("It containes hyphen ");
}
我正在使用以下代码查找出现连字符的情况:
public static int findCharInString(String input,char inputChar) {
int counter=0;
for (int i = 0; i < input.length(); i++) {
if(input.charAt(i)==inputChar) {
counter++;
}
}
return counter;
}
发布于 2018-08-30 02:08:58
你可以使用类似这样的东西:
if ( yourString.matches("[\\p{Alnum} ]+ - [\\p{Alnum} ]+") )
{
System.out.println("String contains a hyphen")
}
P是字母数字的POSIX字符类
发布于 2018-08-30 01:54:46
String str = "TC 1 - TC 24";
int str_length = str.length();
for (int i=0; i<str_length; i++) {
char ch = str.charAt(i);
if (ch == '-') {
System.out.println("True");
break;
}
}
https://stackoverflow.com/questions/52083183
复制相似问题