Java 字符串分隔问题:以|和及其所有邻近的相连的空格作为一个分隔符来切分字符串,

Java 字符串分隔问题:以|和及其所有邻近的相连的空格作为一个分隔符来切分字符串,且两个及以上相连的|不作为分隔符,只转化成一个|输出。
如:
dfhjhg | hhhkvj
转化成[dfhjhg,hhhkvj];
tree |wqng vbn | |cdx
转化成[tree,wqng vbn,cdx];
ffgg||| 颐和园 |K|value | OK
转化成[ffgg| 颐和园,K,value,OK]
第二个例子写的有问题,输出结果是[tree,wqng vbn, ,cdx];
即两个|之间如果全是空格则输出一个空格。
——而且,所有的情况都写到一个转换规则里,不是分别的关系。我的意思是切分成字符串数组或List。不是替换。而且替换之后,如果原字符串中含有替换的字符切分时不就错误了吗?

使用 replace

dfhjhg | hhhkvj
转化成[dfhjhg,hhhkvj];
s=s.replace("|", ",")

tree |wqng vbn | |cdx
转化成[tree,wqng vbn,cdx];
s=s.replace("||", ",").replace("|", ",")

ffgg||| 颐和园 |K|value | OK
转化成[ffgg| 颐和园,K,value,OK]
s=s.replace("|||", "#").replace("|", ",").replace("#", "|")

~
~
~
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-12
第一个,替换字符就可以了

第二个第三个差不多,替换,然后按索引删除。方法很多:也可以删除然后插入。
相似回答