使用多个分隔符拆分查询字符串 - java

时间:2015-08-25 21:38:07

标签: java string split guava splitter

我想拆分这些字符串:

  1. / d / {?一个}
  2. / A / B / {C} {?d}
  3. / A / B / C {?d}
  4. 进入以下细分列表:

    1. [d,{?a}](这种情况很简单,只需用/分开)
    2. [a,b,{c},{?d}]
    3. [a,b,c,{?d}]
    4. 对于其他情况,使用/拆分不会得到我想要的结果。在这种情况下,最后一个字符串元素2.和3.将是{c} {?d}和c {?d}。

      同时实现所有1,2,3的最佳方法是什么?

      感谢。

2 个答案:

答案 0 :(得分:1)

在第一种情况下,它会分裂。但在其他情况下,它会解析。 您必须首先解析字符串然后拆分它。尝试添加' /'就在每一个' {'并且在每次'}之后。然后你可以将它拆分为' /'。 E.g:

解析之前:

2. /a/b/{c}{?d}
3. /a/b/c{?d}

解析后:

2. /a/b//{c}//{?d}/
3. /a/b/c/{?d}/

然后删除多余的' /',拆分字符串并开心。

答案 1 :(得分:1)

以下是解决问题的一种简单方法,以防您知道输入始终是与{和}或{xyz}不同的任何字符xyz。如果您有任何其他输入,则需要进行一些修改:

p