gpt4 book ai didi

java - 如何将 Java 正则表达式匹配到结果字符串?

转载 作者:行者123 更新时间:2023-11-30 05:24:24 24 4
gpt4 key购买 nike

How to tokenize an String like in lexer in java?

请引用上面的问题。我从未使用过 java regex 。如何将所有子字符串放入新字符串中,其中包含匹配字符(如 '(' ')' '.' '<' '>' "等符号),并用单个空格分隔。例如在正则表达式之前

 String c= "List<String> uncleanList = Arrays.asList(input1.split("x"));" ;

我想要这样的结果字符串。

String r= " List < String > uncleanList = Arrays . asList ( input1 . split ( " x " ) ) ; "

最佳答案

引用您链接到的代码,matcher.group() 将为您提供一个 token 。只需使用 StringBuilder 附加此标记和空格即可获取新字符串,其中标记以空格分隔。

String c = "List<String> uncleanList = Arrays.asList(input1.split(\"x\"));" ;
Pattern pattern = Pattern.compile("\\w+|[+-]?[0-9\\._Ee]+|\\S");
Matcher matcher = pattern.matcher(c);

StringBuilder sb = new StringBuilder();
while (matcher.find()) {
String token = matcher.group();
sb.append(token).append(" ");
}
String r = sb.toString();
System.out.println(r);

关于java - 如何将 Java 正则表达式匹配到结果字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58950947/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com