在 JAVA 中用分号标记拆分字符串
Split String with semicolon token in JAVA
我在尝试使用分号拆分字符串时遇到问题:
字符串是:
dsnSalarie;e3f5c7c0-5f5e-4579-a262-3fd87aafe1e4; ;S21.G00.30.008;e3f5c7c0-5f5e-4579-a262-3fd87aafe1e4;;;
带螺栓的分号是一个标记,不能被视为定界符,所以我尝试更改像“<;>”这样的字符串的定界符:
dsnSalarie<;>e3f5c7c0-5f5e-4579-a262-3fd87aafe1e4<;> <;>S21.G00.30.008<;>e3f5c7c0-5f5e-4579-a262-3fd87aafe1e4<;>;<;>
使用 StringUtils.split 或 StringTokenizer 我无法获取分号,即使使用“StringUtils.splitPreserveAllTokens”
我发现的唯一解决办法是用 space 包围分号,然后 trim 分号:
dsnSalarie<;>e3f5c7c0-5f5e-4579-a262-3fd87aafe1e4<;> <;>S21.G00.30.008<;>e3f5c7c0-5f5e-4579-a262-3fd87aafe1e4<;> ; <;>
谢谢你的想法。
我不太确定我明白了,但是下面的代码:
public class Test {
public static void main(String[] args) {
String test="dsnSalarie<;>e3f5c7c0-5f5e-4579-a262-3fd87aafe1e4<;> <;>S21.G00.30.008<;>e3f5c7c0-5f5e-4579-a262-3fd87aafe1e4<;>;<;>";
String[] split = test.split("<;>");
for (String string : split) {
System.out.println(string);
}
}
}
产量
dsnSalarie
e3f5c7c0-5f5e-4579-a262-3fd87aafe1e4
S21.G00.30.008
e3f5c7c0-5f5e-4579-a262-3fd87aafe1e4
;
分词器无法区分相同的字符,例如分号。如果有语义附加到;你需要像 ANTLR 这样的合适的解析器来制定你的语言,它可以从标记中推断出更高的顺序。
我在尝试使用分号拆分字符串时遇到问题:
字符串是:
dsnSalarie;e3f5c7c0-5f5e-4579-a262-3fd87aafe1e4; ;S21.G00.30.008;e3f5c7c0-5f5e-4579-a262-3fd87aafe1e4;;;
带螺栓的分号是一个标记,不能被视为定界符,所以我尝试更改像“<;>”这样的字符串的定界符:
dsnSalarie<;>e3f5c7c0-5f5e-4579-a262-3fd87aafe1e4<;> <;>S21.G00.30.008<;>e3f5c7c0-5f5e-4579-a262-3fd87aafe1e4<;>;<;>
使用 StringUtils.split 或 StringTokenizer 我无法获取分号,即使使用“StringUtils.splitPreserveAllTokens”
我发现的唯一解决办法是用 space 包围分号,然后 trim 分号:
dsnSalarie<;>e3f5c7c0-5f5e-4579-a262-3fd87aafe1e4<;> <;>S21.G00.30.008<;>e3f5c7c0-5f5e-4579-a262-3fd87aafe1e4<;> ; <;>
谢谢你的想法。
我不太确定我明白了,但是下面的代码:
public class Test {
public static void main(String[] args) {
String test="dsnSalarie<;>e3f5c7c0-5f5e-4579-a262-3fd87aafe1e4<;> <;>S21.G00.30.008<;>e3f5c7c0-5f5e-4579-a262-3fd87aafe1e4<;>;<;>";
String[] split = test.split("<;>");
for (String string : split) {
System.out.println(string);
}
}
}
产量
dsnSalarie
e3f5c7c0-5f5e-4579-a262-3fd87aafe1e4
S21.G00.30.008
e3f5c7c0-5f5e-4579-a262-3fd87aafe1e4
;
分词器无法区分相同的字符,例如分号。如果有语义附加到;你需要像 ANTLR 这样的合适的解析器来制定你的语言,它可以从标记中推断出更高的顺序。