공백으로 문자열 토큰화, Java에서 인용부호 부분 문자열 제외
공백을 기준으로 문자열을 구분하는 것은 간단할 수 있지만, 문자열이 인용되어 있으며 단일 토큰으로 처리되어야 합니까? Java에서는 정규식을 사용하여 이러한 미묘한 분할을 달성할 수 있습니다.
이 시나리오를 처리하려면 다음 접근 방식을 사용할 수 있습니다.
String str = "Location \"Welcome to india\" Bangalore Channai \"IT city\" Mysore"; List<String> list = new ArrayList<>(); Matcher m = Pattern.compile("([^\"]\S*|\".+?\")\s*").matcher(str); while (m.find()) list.add(m.group(1));
여기에 사용된 정규식은 문자열을 효과적으로 분할합니다. 공백을 기반으로 하는 토큰이지만 인용된 하위 문자열도 식별합니다. 이렇게 인용된 하위 문자열을 단일 토큰으로 캡처하면 "Welcome to india"와 같은 문구가 그대로 유지되도록 할 수 있습니다.
정규 표현식은 다음과 같이 이해할 수 있습니다.
이를 통해 인용문이 포함된 복잡한 문자열을 효과적으로 처리할 수 있습니다. 결과 목록에는 제공된 예에서 요구되는 대로 개별 단어나 인용 문구를 나타내는 토큰이 포함됩니다.
위 내용은 Java에서 인용된 부분 문자열을 제외하고 공백으로 문자열을 토큰화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!