当前位置: 首页 > 知识库问答 >
问题:

如何防止字符串包含整数或数字?[副本]

孔厉刚
2023-03-14

如何防止或捕捉用户输入int或数字的字符串?

前任。

String name=JOptionPane.showInputDialog("Enter Dog owner's First and Last name");

然后如果我输入Dave Har1234,我想在输入上捕获该数字,然后返回JOptionPane

共有2个答案

蓟辰沛
2023-03-14
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class Main
{
    public static void main(String[] args) {
        String inputStr = "abc00123xyz4560";  // Input String for matching
      String regexStr = "[0-9]+";            // Regex to be matched


      Pattern pattern = Pattern.compile(regexStr);

      Matcher matcher = pattern.matcher(inputStr);
       while (matcher.find()) {
         System.out.println("find() found substring \"" + matcher.group()
               + "\" starting at index " + matcher.start()
               + " and ending at index " + matcher.end());
      }


    }
}

如果用户在字符串之间输入了任何数字,您可以尝试使用此代码来捕捉。

可以在这里运行和检查代码:https://www.onlinegdb.com/online_java_compiler

郗欣嘉
2023-03-14

我认为您应该只检查完整的字符串是否是数字。为此,请使用以下检查inp.matches("\\d")

您可以在此处查看完整示例https://onecompiler.com/java/3v5pffkbz

 类似资料:
  • 如何检查字符串是否包含数字?

  • 问题内容: 假设您有一个要测试的字符串,以确保在继续其他代码之前,该字符串包含整数。在Java中,您将使用什么来确定它是否为整数? 问题答案: 如果要确保它 只是 一个整数并将其转换为一个整数,则可以在中使用parseInt。但是,如果要检查字符串是否包含数字,则最好将String.matches与正则表达式配合使用:

  • 问题内容: 我对此表示怀疑。 输出: 但是我想让它打印M2而不是M11。我无法对++进行编号,因为该变量与for循环有关,如果这样做,则会给我不同的结果,并且由于输出格式更改,因此无法使用其他print语句进行打印。 请您帮助我如何正确打印它。 问题答案: 试试这个: 换行符在哪里

  • 问题内容: 当我使用pg_query,pg_fetch_assoc从PostgreSQL数据库获取数据时,所有数字字段都以字符串形式返回。有没有解决的办法,还是我必须按照自己的方式对每个字段进行类型转换? 问题答案: 这就是PHP所做的。从手册: 数组中的每个值都表示为一个字符串。

  • 问题内容: 我需要检查字符串是否包含数字。任何数字。字符串是否为数字,而不是数字,但包含一个数字。 例子: ‘test’=没有数字。 ‘test2’=包含数字。 问题答案: 使用正则表达式: 不使用正则表达式:

  • 问题内容: 我需要一个可以告诉我字符串是否包含非字母数字字符的方法。 例如,如果字符串为“ abcdef?” 或“abcdefà”,该方法必须返回true。 问题答案: 使用Apache Commons Lang: 另一种方法是遍历String的字符并检查: 您还剩下一个问题:示例字符串“abcdefà”是字母数字,因为是字母。但我认为您希望将其视为非字母数字,对吗? 因此,您可能想使用正则表达式