gpt4 book ai didi

java - 使用可选分隔符分割正则表达式

转载 作者:行者123 更新时间:2023-12-01 10:57:16 25 4
gpt4 key购买 nike

~分隔文本字段~和 ^ 分隔所有字段

正在输入字符串(字段可以为空)

~01001~^~0100~^~Butter, salted~^~BUTTER,WITH SALT~^~~^~~^~Y~^~~^0^~~^6.38^4.27^8.79^3.87

我当前的分割

String [] splited = str.split("\\^",-1);
for (String s : splited){
System.out.println (s);
}

输出

~01001~
~0100~
~Butter, salted~
~BUTTER,WITH SALT~
~~
~~
~Y~
~~
0
~~
6.38
4.27
8.79
3.87

如何更改正则表达式以便不包含 ~~ ? (空白字段即可)

我想要的输出是什么

01001
0100
Butter, salted
BUTTER,WITH SALT


Y

0

6.38
4.27
8.79
3.87

空行应该是“”

最佳答案

使用此正则表达式来匹配您想要的数据:

Pattern p = Pattern.compile("~([^~]*)~|([^\\^]+)");

并使用Matcher API获取匹配的数据。

Matcher m = p.matcher(input);
while (m.find()) {
System.out.println(m.groupCount() == 2 ? m.grop(2) : m.grop(1));
}

RegEx Demo

关于java - 使用可选分隔符分割正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33571597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com