Java 忽略字符串中的数字

Java 忽略字符串中的数字,java,string,Java,String,例如: String t; String j ="j2se"; Scanner sc =new Scanner(System.in); System.out.println("enter the search key:"); t=sc.next(); if (j.contains(t)) { System.out.println("yes"); } else System.out.println("no");

例如:

    String t;
    String j ="j2se";
    Scanner sc =new Scanner(System.in);
    System.out.println("enter the search key:");
    t=sc.next();
    if (j.contains(t))
    {
        System.out.println("yes");
    }
    else System.out.println("no");
如果用户输入“j2”、“se”或“j2s”作为输入,则输出为“是”。如果输入为“jse”,则输出为“否”

是否有一种方法可以忽略字符串搜索中存储的数字,如忽略大写或小写字母?

对字符串使用
replaceAll(“\\d+”,”)
,然后进行比较。 这将删除字符串中的所有数字。现在您可以使用这个新字符串并进行比较。 或使用:

对字符串使用
replaceAll(“\\d+”,“”)
,然后进行比较。 这将删除字符串中的所有数字。现在您可以使用这个新字符串并进行比较。 或使用:


为什么不创建一个没有数字的字符串副本呢? 然后,将这个新字符串与数组进行比较

比如:

String stringWithoutNumber = j.replaceAll("\\d+","");

stringWithoutNumber.contains(t);
许多程序都有一个名为sanitize的函数,它在比较之前清除url或字符串

希望能有所帮助

--编辑--


您不需要将
+
放入
\\d+
中,因为方法replaceAll会替换所有数字。但它的效率更高,因为它可以减少替换

为什么不创建一个没有数字的字符串副本? 然后,将这个新字符串与数组进行比较

比如:

String stringWithoutNumber = j.replaceAll("\\d+","");

stringWithoutNumber.contains(t);
许多程序都有一个名为sanitize的函数,它在比较之前清除url或字符串

希望能有所帮助

--编辑--



您不需要将
+
放入
\\d+
中,因为方法replaceAll会替换所有数字。但它的效率更高,因为它可以减少替换

不是内置的,创建字符串的副本,并从中删除所有不需要的字符,只需要数字?如果用户输入“j@”或“j$y”怎么办?@RafaelOsipov抱歉,只输入数字。。不过,我知道你还能帮上更多的忙me@clem您的任务是删除数字,还是只保留字母?不是内置的,创建字符串的副本,并从中删除所有不需要的字符(仅数字)?如果用户输入“j@”或“j$y”怎么办?@RafaelOsipov抱歉,只输入数字。。不过,我知道你还能帮上更多的忙me@clem你的任务是删除数字,还是只保留字母?@lostmind,我来晚了^^永远不会太晚。:)@托马斯勒杜克谢谢!它起作用了。。请你给我解释一下这是怎么煮的好吗?thanks@clem它将字符串中的所有数字替换为空字符串
replaceAll
获取表示任意数字的正则表达式
\\d
,并将其替换为“.@ThomasLeduc-我认为最好使用
\\d+
(适用于
java23se
):P@TheLostMind,我迟到了。^^永远不会太晚。:)@托马斯勒杜克谢谢!它起作用了。。请你给我解释一下这是怎么煮的好吗?thanks@clem它将字符串中的所有数字替换为空字符串
replaceAll
获取一个表示任意数字的正则表达式
\\d
,并将其替换为“.@ThomasLeduc-我认为最好使用
\\d+
(适用于
java23se
):P