如何从字符串中获取“”中的第一个和第二个文本?
我可以用 indexOf
来做到这一点,但这真的很无聊((
例如,我有一个用于解析的字符串,例如: "aaa":"bbbbb"perhapsSomeOtherText
我想在正则表达式模式的帮助下获得 aaa
和 bbbbb
- 这将帮助我在 switch 语句中使用它,并将大大简化我的应用程序/
最佳答案
如果您拥有的只是冒号分隔的字符串,只需将其拆分:
String str = ...; // colon delimited
String[] parts = str.split(":");
请注意,split()
每次都会接收正则表达式并编译它。为了提高代码的性能,您可以使用Pattern
,如下所示:
private static Pattern pColonSplitter = Pattern.compile(":");
// now somewhere in your code:
String[] parts = pColonSplitter.split(str);
但是,如果您想在更复杂的情况下使用模式来匹配和提取字符串片段,请按以下方式操作:
Pattert p = Patter.compile("(\\w+):(\\w+):");
Matcher m = p.matcher(str);
if (m.find()) {
String a = m.group(1);
String b = m.group(2);
}
注意定义捕获组的括号。。
关于java - 第一个和第二个 tocen 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22348399/