【问题标题】:Regex on string split [closed]字符串拆分的正则表达式 [关闭]
【发布时间】:2015-06-08 22:02:21
【问题描述】:

在字符串拆分方面需要一些正则表达式帮助。

  • Key1|Key2||Key4| |Key6|"Key7|7A"
  • 键1||键3|键4| ||键7
  • Key1||Key3|"Key4|4A"| ||"Key7|7A"

我希望始终将结果拆分为列表中的 7 个元素。它可以是 null 或空格,也可以有一个竖线分隔的值。

这是第 3 行的示例预期输出

  • 键1
  • //空
  • 关键3
  • Key4|4A
  • //空格
  • //空
  • 键7|7A

谢谢!

【问题讨论】:

  • 你有没有尝试过?
  • 我一直在尝试使用以下匹配器,但似乎无法正常工作。匹配器 m = Pattern.compile("([^\"]\\S*|\".+?\")|").matcher(key);
  • 你拆分的依据是什么,是管道吗?如果它的管道可以按管道拆分,则添加前六个字符串数组位置,然后作为第七个添加其余位置。
  • 任何正则表达式专家可以告诉我如何正确解析行吗?

标签: java regex string split


【解决方案1】:

试试这个:

((?<=\|)()(?=\|))|("[A-Za-z0-9|]+")|([A-Za-z0-9 ]+)

输出:

  • >钥匙1
  • >
  • >钥匙3
  • >“Key4|4A”
  • >
  • >
  • >“键7|7A”

我将每个字符串放在 >(string)

【讨论】:

    猜你喜欢
    • 2018-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-07
    相关资源
    最近更新 更多