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

标签 java string split guava splitter

我想分割这些字符串:

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

进入以下段列表:

  1. [d, {?a}](这种情况很简单,只需使用/分割即可)
  2. [a, b, {c}, {?d}]
  3. [a、b、c、{?d}]

对于其他情况,使用/进行分割将不会得到我想要的结果。在这种情况下,2.和3.的最后一个字符串元素将是{c}{?d}和c{?d}。

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

谢谢。

最佳答案

尝试使用正则表达式解决问题。这可能是一个开始的脚本:

String regex = "(/)|(?=\\{)";
String s =  "/a/b/{c}{?d}";
String[] split = s.split(regex);

使用此正则表达式,您将在分割数组中得到空元素,但所有其他元素都会正确分割

关于java - 使用多个分隔符分割查询字符串 - java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32214541/

相关文章:

java - 如何制作调用 ant 的 Eclipse 启动配置?

java - 如何让 Java 检测反向引用,同时尊重字边界?

C++ 第 3 方库包含不存在的头文件?

string - 使用 Trie 查找最长公共(public)子串

jquery - jquery中分割字符串

java - 对其他实体的可空属性进行 Spring 可分页排序

java - 适用于 iOS 和 Android 平台的跨平台 appium 代码

c - 通过 argv 传递的参数会影响程序的输出

用多个结束分隔符分割字符串

c# - 使用正则表达式从字符串中获取子字符串