使用java在字符串中进行连字符搜索

使用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”中查找连字符
-
。为此我用了

“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");
    }
}