使用java在字符串中进行连字符搜索
我试图在字符串“tc1-tc24”中查找连字符使用java在字符串中进行连字符搜索,java,string,hyphen,Java,String,Hyphen,我试图在字符串“tc1-tc24”中查找连字符-。为此我用了 “tc1-tc24”。包含(“\\-”) 但是上面的表达式不会返回true。我做错了什么 代码如下所示: if("TC 1 - TC 24".contains(" \\- ") == true) { //print something } String str=“tc1-tc24”; int str_length=str.length(); 对于(int i=0;i您可以使用以下内容: if ( yourString.mat
-
。为此我用了
“tc1-tc24”。包含(“\\-”)
但是上面的表达式不会返回true
。我做错了什么
代码如下所示:
if("TC 1 - TC 24".contains(" \\- ") == true) {
//print something
}
String str=“tc1-tc24”;
int str_length=str.length();
对于(int i=0;i您可以使用以下内容:
if ( yourString.matches("[\\p{Alnum} ]+ - [\\p{Alnum} ]+") )
{
System.out.println("String contains a hyphen")
}
\\p是java中字母数字包含
关键字的POSIX字符类,如果提供的字符串包含指定的字符值序列,则返回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;
}
publicstaticintfindcharinstring(字符串输入,charinputchar){
int计数器=0;
对于(int i=0;i
您可以使用String类的indexOf方法,因为indexOf从给定字符串中搜索字符串。
如果找到,则返回该字符串的索引,否则返回-1。
因此,您可以轻松地使用索引of。
我已经给出了下面的代码,请仔细阅读
public static void main(String[] args) {
String hypen="12-35";
int index = hypen.indexOf("-");
if (index != -1) {
System.out.println("True");
} else {
System.out.println("False");
}
}
请发布您的尝试代码提示:参数to不是正则表达式,它是一个文本值。使用包含(“-”
”——此外,即使参数是正则表达式,您也不需要\\
,因为-
在[]之外的正则表达式中不是特殊字符
字符类。提示的可能重复:使用==true
是不必要的。请参阅@weizenkeimhugo我看不出这是一个重复的问题。这如何回答问题?它将在整个字符串中搜索“-”。如果它找到一个断点并返回“true”。
public static void main(String[] args) {
String hypen="12-35";
int index = hypen.indexOf("-");
if (index != -1) {
System.out.println("True");
} else {
System.out.println("False");
}
}