java - 拆分涉及两个特殊字符的字符串

标签 java

我有一个如下所示的字符串值:

TE\;R20\;T11\;19

我想把它分成 TER20T1119。我尝试对其应用 split 方法,但不幸的是它仍然无法正确拆分字符串

这是我的源代码

String description1 = CSVdata2[7];
System.out.println("The description1 is :"+description1);
String email1 = CSVdata2[2];
String [] data1 = description1.split(";");
String ID1 = data1[0];
String [] data2 = SysID1.split("/");
String ID2 = data2[0];
System.out.println("The ID2 is :"+ID2);

这是我的示例输出

The description1 is :TE\;R20\;T11\;19
The ID2 is :TE\

我尝试在网上搜索一些方法,但我仍然无法将其拆分为我想要的字符串

最佳答案

您需要对 \ 进行转义,因为在 String \ 中是一个转义字符。试试下面的代码:

    String s = "TE\\;R20\\;T11\\;19";
String arr[] = s.split("\\\\;");
    System.out.println(Arrays.toString(arr));

要转义 \ 你需要使用 \

操作:

[TE, R20, T11, 19]

关于java - 拆分涉及两个特殊字符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48333593/

相关文章:

java - 我需要 ghostdriver 才能在 java 中使用 selenium 和 phantomjs 吗?

java - 用户身份验证失败时出现 Spring Security ProviderNotFoundException

java - eclipse有自己的JDK吗?或者它使用我计算机上的JDK?

java.util.prefs.FileSystemPreferences 尝试打开损坏的路径

java - 在 android 中选择性别,如 radioButton

java - 将参数解析到 Java 命令行程序

java - Jackson - 将 ZonedDateTime 序列化为 ISO 8601 字符串

java - 余弦相似度返回错误的距离

java - 从 Web 浏览器上传大文件并传输到 Amazon S3

java - 使 "data" transient 或可序列化的 SonarQube 错误