我正在使用 java 正则表达式将我的字符串拆分为每个 2 个字符的子字符串。我正在使用以下代码。
import java.util.*;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class HelloWorld{
public static void main(String []args)
{
String str = "admins";
String delimiters = "([a-z]{2})";
String[] tokensVal = str.split(delimiters);
System.out.println("Count of tokens = " + tokensVal.length);
System.out.println(Arrays.toString(tokensVal));
}
}
但是运行下面的代码会将 count 的值打印为零并打印一个空数组。
最佳答案
import java.util.*;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class ApachePOI{
public static void main(String []args) {
String str = "admins";
String delimiters = "(?<=\\G.{2})";
String[] tokensVal = str.split(delimiters);
System.out.println("Count of tokens = " + tokensVal.length);
System.out.println(Arrays.toString(tokensVal));
}
}
输出:
Count of tokens = 3
[ad, mi, ns]
关于Java 正则表达式未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21696986/