JAVA中多个多字符标记的StringTokenizer?
我需要根据多个标记拆分一个字符串,这些标记也可能有多个字符,如下面给定的bellow 单词1:word2 | word3 | word4 | word5 | word6 | word7 我需要根据“:”、“|”、“| |”、“| |”、“| |”标记上述字符串。JAVA中多个多字符标记的StringTokenizer?,java,regex,arrays,string,Java,Regex,Arrays,String,我需要根据多个标记拆分一个字符串,这些标记也可能有多个字符,如下面给定的bellow 单词1:word2 | word3 | word4 | word5 | word6 | word7 我需要根据“:”、“|”、“| |”、“| |”、“| |”标记上述字符串。 是否可以使用StringTokenizer,或者使用正则表达式拆分对其进行标记的代码是什么??。。记住,我还需要结果数组中的令牌…您可以使用StringUtilsLang API 请查找相同的Javadocs 它有以下几种方法- 子字符
是否可以使用StringTokenizer,或者使用正则表达式拆分对其进行标记的代码是什么??。。记住,我还需要结果数组中的令牌…您可以使用
StringUtils
Lang API
请查找相同的Javadocs
它有以下几种方法-
子字符串/左/右/中
-空安全子字符串提取SubstringBefore/SubstringAfter/SubstringBetween
-相对于其他字符串的子字符串提取这可以通过StringTokenizer实现。但这必须是一个多步骤的过程 我不知道是否有可用的API。你可以像下面这样解决 应采取步骤 1.拿绳子 2.定义要替换的正则表达式//您应该提前知道它们 3.循环所有表达式 4.用空格替换每个表达式 5.现在您可以使用字符串标记器
String str="word1:word2|word3||word4|word5|||word6|word7";
String[] tokens={"[:]","[|]{3}","[|]{2}","[|]"};
for (int i = 0; i < tokens.length; i++) {
str=str.replaceAll(tokens[i], " ");
System.out.println(str);
}
String str=“word1:word2 | word3 | word4 | word5 | | word6 | word7”;
字符串[]标记={“[:]”、“[|]{3}”、“[|]{2}”、“[|]]”;
for(int i=0;i
显然,您可以像这样拆分字符串:
line.split ("[:|]+")
res113: Array[java.lang.String] = Array(word1, word2, word3, word4, word5, word6, word7)
但是分隔符是什么呢?嗯,显然相反:
line.split ("[^:|]+")
res114: Array[java.lang.String] = Array("", :, |, ||, |, |||, |)
如何区分“|”|“|”| | | |”?实际上,我还希望在结果数组中包含标记“|”、“| |”。。。word1和word2是DB表中的列名。。。我需要从DB值中将结果生成为value1:value2 | value3 | value4 | value5 | | value6 | value7.您需要结果中的分隔符吗?