返回信息流输入的字符串 A|B|C|D|\|123\||ABCD123
我想得到结果 string[] arg是
A
B
C
D
\|123\|
ABCD123
用string.split("\\|")分割,分割的结果是
A
B
C
D
\
123\
ABCD123
查了下API文档,又用string.split("\\|[^\\\\\\|]"),结果还是不对。。
成了
1 A
2
3
4 |\
5 23\|
6 BCD123
求个能获得预期输出的方法>-<
@nuanyangyang
这是一条镜像帖。来源:北邮人论坛 / java / #28429同步于 2014/1/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
问一个String.split用"|"分割的问题
tdanieln
2014/1/19镜像同步10 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
我想你说的意思是:去掉所有的|,但是"\|"将|转义了不再是|所以不去掉
【 在 tdanieln 的大作中提到: 】
: 输入的字符串 A|B|C|D|\|123\||ABCD123
: 我想得到结果 string[] arg是
: A
: ...................
【 在 hyfeng121 的大作中提到: 】
: 我想你说的意思是:去掉所有的|,但是"\|"将|转义了不再是|所以不去掉
如果真是转义,结果应该是
A
B
C
D
|123|
ABCD123
可能需要保留转义符号?
大概是 split("(?:[^\\])|") 这样?
【 在 nuanyangyang 的大作中提到: 】
:
: 如果真是转义,结果应该是
: A
: ...................
估计是
【 在 AlexRezit 的大作中提到: 】
: 可能需要保留转义符号?
: 大概是 split("(?:[^\\])|") 这样?
:
需要保留~
我在预期输出中写啦,
希望的结果是\|123\|
结果肿么弄都弄不对
最后只能先把\|都replace掉,然后分割完再replace回来
【 在 nuanyangyang 的大作中提到: 】
: 估计是