RegEx表达式,字符串操作

时间:2012-09-28 21:52:51

标签: java regex

我必须遵循文本格式,我想使用模板提取内容。

  

值{ABC,XYZ ...} |消息{这是测试消息}

当我遇到上面的字符串时,我想提取'Value'和'Message'的内容而不用Java解析整个字符串。

正则表达式可以吗?

2 个答案:

答案 0 :(得分:1)

是的,使用正则表达式是可能的,假设格式没有改变。

http://rubular.com/r/R8WIonv6Oj< - 请按此链接查看示例。

Value\{(.*)\}\|Message\{(.*)\}

有两个匹配的组,用于花括号之间的内容。但是,您可以轻松地执行此操作而无需使用正则表达式

答案 1 :(得分:0)

如果您的字符串始终采用您提到的格式,则以下代码有效......

String s = "Value{ABC,XYZ...}|Message{This is test message}";
System.out.println(s.split("value")[0].split("\\{")[1].split("}")[0]); //prints ABC,XYZ...
System.out.println(s.split("Message")[1].split("\\{")[1].split("}")[0]); //prints This is test message