我想拆分字符串
String fields = "name[Employee Name], employeeno[Employee No], dob[Date of Birth], joindate[Date of Joining]";
Run Code Online (Sandbox Code Playgroud)
至
name
employeeno
dob
joindate
Run Code Online (Sandbox Code Playgroud)
我为此编写了以下java代码,但它只打印名称,其他匹配不打印.
String fields = "name[Employee Name], employeeno[Employee No], dob[Date of Birth], joindate[Date of Joining]";
Pattern pattern = Pattern.compile("\\[.+\\]+?,?\\s*" );
String[] split = pattern.split(fields);
for (String string : split) {
System.out.println(string);
}
Run Code Online (Sandbox Code Playgroud)
我在这做错了什么?
谢谢
这部分:
\\[.+\\]
Run Code Online (Sandbox Code Playgroud)
匹配第一个[,.+然后吞噬整个字符串(如果字符串中没有换行符),然后\\]匹配最后一个].
你需要在它之后.+放置一个不情愿?:
Pattern pattern = Pattern.compile("\\[.+?\\]+?,?\\s*");
Run Code Online (Sandbox Code Playgroud)
不应该\\]+?只是\\]?
| 归档时间: |
|
| 查看次数: |
10660 次 |
| 最近记录: |