我有一个字符串 字符串l ="名称:kumar年龄:22关系:单身" 现在我需要将上面的字符串拆分为
,这是动态从UI进行的name: kumar
age: 22
relationship: single
我的代码是:
Pattern ptn = Pattern.compile("([^\\s]+( ?= ?[^\\s]*)?)");
Matcher mt = ptn.matcher(l);
while(mt.find())
{
String col_dat=mt.group(0);
if(col_dat !=null && col_dat.length()>0)
{
System.out.println("\t"+col_dat );
}
}
任何建议都将表示赞赏谢谢
答案 0 :(得分:1)
您可以使用此正则表达式:
\S+\s*:\s*\S+
或者这个:
\w+\s*:\s*\w+
演示:https://regex101.com/r/EgXlcD/6
正则表达式:
\S+
- 一个或多个非空格字符
\s*
- 0个或更多空格字符
\w+
- 0个或更多\w
个[A-Za-z0-9_]
字符。