与finding matches inside pipes using java regexp
相关的巨大方式我试过把管子放在管子里但不在身边。例如,我输入了这个。
|asd|qwe|zxc|||
使用split OR一些正则表达式,我得到
result 1 = '',
result 2 = 'asd',
result 3 = 'qwe',
result 4 = 'zxc',
result 5 = '',
result 6 = ''
结果1,5和6包含0个长度字符串,这没关系。但我的问题是我无法得到一个结果,它会给我最后一个管道右边的零长度字符串。我尝试了几种组合,我似乎无法弄明白。使用string.split方法似乎也没有在最后一个管道的右侧获得零长度字符串。但它确实获得了第一个管道左侧的第一个零长度字符串。
任何帮助,建议将不胜感激。我并不是要让其他人做我的工作,我只需要一点正则表达式的帮助,因为我刚刚开始理解这项技术。
答案 0 :(得分:1)
您希望使用两个参数String.split(String, int)
方法,第二个参数为-1:
"|asd|qwe|zxc|||".split("\\|", -1)
单个参数split()
方法与调用split("pattern", 0)
的方法相同,后者会丢弃尾随空格。
Javadoc:String.split(String, int)
答案 1 :(得分:0)
不是很漂亮但是......
if(yourString.endsWith("|")){
String toSplit = yourString + "|";
String[] tokens = toSplit.split("|");
}