我想number|twitter|abc..
在映射器中的字符串上使用管道字符拆分文件。这是一个长字符串。但是当我这样做时它不识别管道分隔符:
String[] columnArray = line.split("|");
如果我尝试用 之类的空格分割它line.split(" ")
,它可以正常工作,所以我认为它识别字符没有问题。还有其他看起来像管道的角色吗?为什么拆分不识别|
字符?
正如在另一个答案中共享的那样,“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);
}
}
}
String.split
采用正则表达式(如 javadoc 所述),并且"|"
是正则表达式中的特殊字符。试试吧"[|]"
。