나는 [text other text]
형식으로 표시된 태그를 포함하는 텍스트를 가지고 있습니다.String.split을 사용하여 대괄호 사이의 텍스트를 추출하는 방법
하지만,이 :
String.split("\\[|\\]");
이 예상되는 결과를 제공하지 않습니다.
어떻게하면됩니까? 아래에 언급 한 바와 같이
나는 [text other text]
형식으로 표시된 태그를 포함하는 텍스트를 가지고 있습니다.String.split을 사용하여 대괄호 사이의 텍스트를 추출하는 방법
하지만,이 :
String.split("\\[|\\]");
이 예상되는 결과를 제공하지 않습니다.
어떻게하면됩니까? 아래에 언급 한 바와 같이
내가 하나가 split()
하여이 작업을 수행 할 수 있는지 확실하지 않습니다, Pattern.quote를 ("당신의 패턴이 간다")를 사용할 수 있습니다.
public static void main(String[] args) {
String line = "xx [text other text], [jili u babusi dva veselikh gusya], " +
"[a granny there was having two gay gooses] zz";
Matcher matcher = Pattern.compile("\\[([^\\]]+)").matcher(line);
List<String> tags = new ArrayList<>();
int pos = -1;
while (matcher.find(pos+1)){
pos = matcher.start();
tags.add(matcher.group(1));
}
System.out.println(tags);
}
당신은
str.split(Pattern.quote("["));
당신이 분할 방법을 사용하고 배열
문자열에 대한 답을 넣을 수 있습니다 : 당신의 패턴 패턴을 발견하고 [^\\]]+
("모든 기호 닫기 괄호까지")이 꽤 솔직하다 [] d = s.split ("(\\ [) | (\\))");
코드를 설명하고 이유를 밝히지 않고 코드를 설명하려고 시도하십시오. –
나는 정규식 사용하는 것보다 더 간단한 무언가가,이는하지만 (내가 그랬던 것처럼) 여기에 토지 같은/비슷한 질문을 가진 사람 4 년 전에 질문을 받았다 알고 : 당신의 예에서
String result = StringUtils.substringBetween(str, "[", "]");
가 , result
은 "텍스트 기타 텍스트"로 반환되며, 필요한 경우 StringUtils.split()을 사용하여 추가로 나눌 수 있습니다. 다양한 종류의 (비교적 간단한) 문자열 조작을 위해 StringUtils 라이브러리를 권장합니다. 자동으로 null 입력과 같은 것을 처리하므로 편리 할 수 있습니다. substringBetween위한
가 개폐 분리가 동일한 지 여부에 따라,이 함수의 두 버전이 있고, 구분자 (들) (들)의 발생 여부 대상 문자열을 여러 번
예상되는 결과 중 어느 것을 입력 했습니까? 어떤 결과가 나타 납니까? – SJuan76
귀하의 의견도 강력하게 공유하십시오. –
[대괄호 사이의 값]에 관심이 있다면 regex와 그룹 매처를 사용하는 것이 더 낫습니다. – l3dx