我需要在 Java 中编写一个方法,该方法可以接受一个字符串文本参数和一个返回字符串数组的字符串“正则表达式”参数数组。
我希望返回的 Array 基本上可以执行该String.split
操作,但是使用多个 String 正则表达式,而不是剥离正则表达式,而是将其保留在数组中。
例子:
Input: "int a=10; a++;"
Regexes: "int", ";", "++", "="
Output: "int", " a", "=", "10", ";", " a", "++", ";"
我尝试了一些事情,包括以下内容,但都没有奏效
public static String[] splitIntoBits(String in, String[] regex)
{
List<String> bitList = new ArrayList<String>();
for(int i = 0; i < in.length(); i++)
{
int lastIndex=0;
//Check that character against all regexes
for(int j = 0; j < regex.length; j++)
{
if(in.substring(i).startsWith(regex[j]))
{
bitList.add(in.substring(lastIndex, i));
lastIndex=i;
}
}
}
return bitList.toArray(new String[0]);
}