关于字符串拆分的正则表达式

时间:2015-06-08 22:02:22

标签: java regex string split

需要一些关于字符串拆分的正则表达式帮助。

  • 键1 |密钥2 ||键4 | | Key6 |“Key7 | 7A”
  • 键1 ||密钥3 |键4 | || KEY7
  • 键1 ||密钥3 | “键4 | 4A” | || “KEY7 | 7A”

我希望结果总是分成列表中的7个元素。它可以是null或空格,也可以是管道分隔值。

以下是第3行的预期输出样本

  • 键1
  • // null
  • 密钥3
  • 键4 | 4A
  • // space
  • // null
  • KEY7 | 7A

谢谢!

1 个答案:

答案 0 :(得分:1)

试试这个:

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

输出:

  • &GT;密钥1&LT;
  • &GT;&LT;
  • &GT;密钥3&LT;
  • &gt; “中键4 | 4A” &LT;
  • &GT; &LT;
  • &GT;&LT;
  • &gt; “中KEY7 | 7A” &LT;

我把每个字符串放在&gt;&lt;之间括号如:&gt;(string)&lt;,以使空格和null可见。