【问题标题】:split() doesn't works properlysplit() 不能正常工作
【发布时间】:2018-05-11 10:01:39
【问题描述】:

我有一个“序列化”对象列表,对象由$$分隔,对象属性由$分隔

我必须将其拆分为 以检索对象值...

例如:

zfzzfzfTitre $ $ Interpretessfcqfqfz $ Genresqqqcqvqv $ URLqdqddqdqdqd 0 $$ zfzzfzfTitresss $ $ Interpretessfcqfqfzscsc $ Genresqqqcqvqvcs $ URLqdqddqdqdqd 1 $$ zfzzfzfTitresss $ $ Interpretessfcqfqfzscsc $ Genresqqqcqvqvcs $ URLqdqddqdqdqd 2 $$ zfzzfzfTitresss $ $ Interpretessfcqfqfzscsc $ Genresqqqcqvqvcs $ URLqdqddqdqdqd 3 $$ P>

但是当我将对象拆分为listTemp.split("\\$$")的数组时

数组大小为1

你能帮帮我吗?

代码适用于

【问题讨论】:

  • 在每个正则表达式字符之前添加 \\ 解决的问题
  • 因为有很多 $ 您需要指定特定 $ 符号的索引,从您要拆分的位置。

标签: android java-8 linux ubuntu java android regex split


【解决方案1】:

你需要转义所有$标志

Demo

listTemp.split("\\$\\$");

否则它将解析第二个$end-of-line

【讨论】:

  • 我认为对于 Java 来说,它需要是 \\$\\$,而不仅仅是 `\$\$。