java - 如何从java中输入的字符串中删除所有非数字字符?

标签 java

我正在尝试创建一个基本计算器程序,并且想从字符串输入中删除所有非数字字符。 (我是一个java新手)。这是我的 当前代码:

package calculator;
import javax.swing.JOptionPane;
public class sub {

    public static void main(String[] args) {

        //Text & Input Box #1
        String input = JOptionPane.showInputDialog(null,
                "Input the first number",
                "Subtraction",
                JOptionPane.QUESTION_MESSAGE);

        //Input Box #2
        String input1 = JOptionPane.showInputDialog(null,
                "Input the second number",
                "Subtraction",
                JOptionPane.QUESTION_MESSAGE);

        //Data Collection
        int data1 = Integer.parseInt(input);
        int data2 = Integer.parseInt(input1);

        //Data Sum
        int sum = data1 - data2;

        //Output
        JOptionPane.showMessageDialog(null,  sum, "The Answer",         
JOptionPane.INFORMATION_MESSAGE);

    }
}

最佳答案

您可以将 String.replaceAll 方法与正则表达式一起使用,如下所示:

input.replaceAll("-?[^\\d]", "");

添加一个 .将允许小数:

input.replaceAll("-?[^\\d.]", "");

进行编辑以支持负数。

关于java - 如何从java中输入的字符串中删除所有非数字字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46628099/

相关文章:

java - 如何显示具有模糊背景和禁用 UI 的进度条

java - Java开关控件中的局部变量

java - 从 docker 文件传递​​ jvm 参数时出错

java - 正确格式化日期

java - 平衡多个队列

java - 通过 ID 查找元素,其中 ID 是动态的

java - Play WS 异常 : javax.net.ssl.SSLException: Received fatal alert: internal_error

java - Minecraft 1.12,服务器未启动。 "Linux external server"

Java 字符串比较

java - 如何使用库“ Material 日历 View ”保存用户每天在EditText中输入的内容?