java - 使用 Scanner 来分离字符串

标签 java string java.util.scanner

我试图将数字(包括 Double)与“4+5*(4.5+6)”等字符串分开。 我考虑过使用扫描仪将数字与字符串分开。我想听听是否有更好的方法来做到这一点,并知道如何使用扫描仪来做到这一点? 这是我的代码,只是想检查它是否有效,但它抛出了异常......

package testzehavit;

import java.util.Scanner;

public class main {

    public static void main(String[] args) {
        Scanner s= new Scanner("443+54+24");
        s.useDelimiter("+");
        System.out.println(s.next());

    }

}

谢谢

最佳答案

来自this question/answer您必须转义 + 因为该方法采用正则表达式而不是文字字符串。在 Java 中,您可以使用双反斜杠 \\ 进行转义。这段代码:

public static void main(String[] args) {
    Scanner s = new Scanner("443+54+24");
    s.useDelimiter("\\+");
    System.out.println(s.next());
}

打印443

关于java - 使用 Scanner 来分离字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47748624/

相关文章:

java - 在 JAXB 编码中使用 BigDecimal

java - 如何使用类获取输入值?

c - 为什么 C 不从 strtok 设置的 malloc'd char* 中释放内存?

Java InputStream != 可读

java - SLP Java 函数由于 IP_MULTICAST_IF 而导致 SocketException

java - 红黑树自顶向下删除算法

android - AChartEngine TimeSeries 问题与 x 轴上的日期

c++ - io 用于 std::string 的非关联容器

java - FindWithinHorizo​​n 匹配失败

java - 通过扫描仪更新二维阵列