Java에서 문자열 텍스트 매개 변수와 문자열 배열을 반환하는 String "regexes"매개 변수의 배열을 사용할 수있는 메서드를 작성해야합니다.Java String Split/Manipulation
기본적으로 반환 된 배열은 String.split
을 수행하지만 여러 문자열 정규 표현식을 사용하고 정규 표현식을 스트립하는 대신 배열에 보관합니다.
예 :
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]);
}
겹치는 패턴을 어떻게 처리합니까 (즉, 일치가 모호한 경우)? – durron597
각 분할 후에 새 ArrayList를 만들고 String []을 캡처하여 목록에 넣을 수 있습니다. List를 사용하여 문자열을 다음 단계로 공급하십시오. –
@ durron597 - 아마 전이나 후에 정규식 후에 오는 더 구체적인 검사로 처리 할 것이다. – user2317297