我想在映射器中的number|twitter|abc..
字符串上拆分带有管道符号的文件。
这是一个很长的字符串。但是,当我这样做时,它无法识别管道分隔符:
String[] columnArray = line.split("|");
如果我尝试用line.split(" ")
这样的空格拆分它,它可以正常工作,所以我不认为它识别字符有问题。
是否有任何其他角色看起来像管道?为什么不拆分识别|
字符?
答案 0 :(得分:1)
在另一个答案中分享 “String.split需要一个正则表达式参数。未转义的|被解析为正则表达式,意思是”空字符串或空字符串“,这不是你的意思。” https://stackoverflow.com/a/9808719/2623158
这是一个测试示例。
public class Test
{
public static void main(String[] args)
{
String str = "test|pipe|delimeter";
String [] tmpAr = str.split("\\|");
for(String s : tmpAr)
{
System.out.println(s);
}
}
}
答案 1 :(得分:0)
String.split
采用正则表达式(如javadoc所述),"|"
是正则表达式中的特殊字符。请尝试"[|]"
。