Java 从特定模式拆分字符串
如何将该字符串从一个模式转换为两个不同的变量 字符串:Java 从特定模式拆分字符串,java,string,Java,String,如何将该字符串从一个模式转换为两个不同的变量 字符串:“[地址]自定义地址n 1” 变量类型将是“地址”,变量字段将是“自定义地址n 1” 是否可以不对每个字符进行复杂的循环检查?您可以将正则表达式用于捕获组: Pattern p = Pattern.compile("\\[(.*)\\] (.*)"); Matcher m = p.matcher("[ADDRESS] Custom address n 1"); if (m.find()) { String type = m.group
“[地址]自定义地址n 1”
变量类型将是
“地址”
,变量字段将是“自定义地址n 1”
是否可以不对每个字符进行复杂的循环检查?您可以将正则表达式用于捕获组:
Pattern p = Pattern.compile("\\[(.*)\\] (.*)");
Matcher m = p.matcher("[ADDRESS] Custom address n 1");
if (m.find()) {
String type = m.group(1);
String field = m.group(2);
}
您可以将正则表达式用于捕获组:
Pattern p = Pattern.compile("\\[(.*)\\] (.*)");
Matcher m = p.matcher("[ADDRESS] Custom address n 1");
if (m.find()) {
String type = m.group(1);
String field = m.group(2);
}
您应该使用以下正则表达式:
\[([^\]]*)\](.*)
对于字符串“[地址]自定义地址n 1”
- 第一组是“地址”
- 组2将是“自定义地址n 1”
\[([^\]]*)\](.*)
对于字符串“[地址]自定义地址n 1”
- 第一组是“地址”
- 组2将是“自定义地址n 1”
“地址自定义地址n 1”。拆分(“,2)
键入
=内部的任何内容[]
(不包括它们)<代码>字段=REST使用简单正则表达式从模式中获取信息。请参阅使用正则表达式解析。一种方法是使用正则表达式将字符串解析为两组,一组包含“[…]”,另一组包含其余字符串。然后您就可以将这些部分提取到您想要的任何内容中。“地址自定义地址n 1”。拆分(“,2)
键入
=内部的任何内容[]
(不包括它们)<代码>字段=REST使用简单正则表达式从模式中获取信息。请参见@Andreas,*?
也有同样的好处吗?@shmosel没有,但比*
好,因为*
一直到最后,然后从那里返回。根据regex101,\[(.*)\](.*)
是50步,\[(.*)\)(.*)
是24步,\[([^\]]*)\](.*)
是10步。@shmosel没有,但比*
好,因为*
一直走到最后,然后从那里返回。根据regex101,\[(.*)\](.*)
是50个步骤,\[(.*?)\](.*)
是24个步骤,\[([^\]]*)\](.*)
是10个步骤。