Java 正则表达式在冒号上拆分字符串
我有一根绳子 字符串l=name:kumar年龄:22关系:单身 它是从UI动态提交的,现在我需要将上面的字符串拆分为Java 正则表达式在冒号上拆分字符串,java,regex,Java,Regex,我有一根绳子 字符串l=name: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_da
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 );
}
}
如有任何建议,将不胜感激。谢谢您您可以使用此正则表达式:
\S+\s*:\s*\S+
或者这个:
\w+\s*:\s*\w+
演示:
正则表达式:
\S+-1个或多个非空格字符
\s*-0个或更多空格字符
\w+-0或更多\w即[A-Za-z0-9_]个字符。分栏=冒号?当您的输入中不需要任何=符号时,为什么在您的模式中有一个=?@shmosel i假设他指的是分号,但他的输入中也没有任何分号。我不知道这意味着什么。但如果我的名字是彼得·约翰,那么我只得到了一个petter@kumar然后,您可以使用正向前瞻在空间上拆分正则表达式=\w+\s*:。演示:嗨?=\w+\s*:这不起作用。。。你能帮我把这个处理掉吗。。谢谢您的支持。@kumar请尝试string.split\\?=\\w+\\s*:\\。请检查关于如何使用正则表达式拆分字符串的其他答案。我没有接触过java。