如何在java中提取两个字符之间的数据

String text = "/'Team1 = 6', while /'Team2 = 4', and /'Team3 = 2'";


String[] body = text.split("/|,");

String b1 = body[1];

String b2 = body[2];

String b3 = body[3];

预期结果:


b1 = 'Team1 = 6'

b2 = 'Team2 = 4'

b3 = 'Team3 = 2'



萧十郎
浏览 464回答 4
4回答

浮云间

使用正则表达式。像这样的东西:String text = "/'Team1 = 6', while /'Team2 = 4', and /'Team3 = 2'";Matcher m = Pattern.compile("(\\w+\\s=\\s\\d+)").matcher(text); // \w+ matches the team name (eg: Team1). \s=\s matches " = " and \d+ matches the score.while (m.find()){    System.out.print(m.group(1)+"\n");}这打印:团队 1 = 6团队 2 = 4团队 3 = 2

呼啦一阵风

您可以使用 split 和 regex 使用交替匹配字符串的开头后跟正斜杠或匹配逗号,一次或多次不匹配逗号,然后是正斜杠,然后是正前瞻,以断言后面的内容交替是一个'(?:^/|,[^,]+/)(?=')解释(?: 启动非捕获组^/ 断言字符串的开头,后跟正斜杠| 或者,[^,]+/使用否定字符类匹配一个逗号,然后匹配一个或多个不是逗号,然后匹配一个正斜杠(?=') 断言以下内容的正向预测是 ') 关闭非捕获组正则表达式演示- Java 演示获得匹配而不是分裂如果你想匹配一个模式'Team1 = 6',你可以使用:'[^=]+=[^']+'正则表达式演示- Java 演示
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java