String.split()을 여러 딜리미터와 함께 사용합니다.
구분 기호를 기준으로 문자열 기준을 분할해야 합니다.-그리고..다음은 제가 원하는 출력입니다.
AA.BB-CC-DD.zip->
AA
BB
CC
DD
zip
하지만 다음 코드는 작동하지 않습니다.
private void getId(String pdfName){
String[]tokens = pdfName.split("-\\.");
}
정규식 OR 연산자를 포함해야 합니다.
String[]tokens = pdfName.split("-|\\.");
가지고 있는 것이 일치합니다.
[DASH에 이어 DOT까지 함께]-.
것은 아니다.
[대시 또는 DOT 중 하나]-또는.
이 정규식을 사용해 보세요."[-.]+". 뒤에 + 는 연속되는 딜리미터 문자를 1로 취급합니다.이것을 원하지 않는 경우는, 플러스 키를 떼어냅니다.
정규식 "\W"를 사용할 수 있습니다.이 문자는 모든 비워드 문자와 일치합니다.필요한 행은 다음과 같습니다.
String[] tokens=pdfName.split("\\W");
Guava를 사용하면 다음을 수행할 수 있습니다.
Iterable<String> tokens = Splitter.on(CharMatcher.anyOf("-.")).split(pdfName);
당신이 주는 끈은split는 정규 표현의 문자열 형식입니다.따라서 다음과 같습니다.
private void getId(String pdfName){
String[]tokens = pdfName.split("[\\-.]");
}
즉, 네트워크 내의 임의의 캐릭터로 분할할 수 있습니다.[](우리는 도망쳐야 한다)-내부는 특별하기 때문에 백슬래쉬로[]스트링이기 때문에 당연히 백슬래시를 피해야 합니다).(역방향으로).보통은 특별하지만 내부는 특별하지 않다[].)
딜리미터 "AND"와 "OR"과 같은 두 가지 문자 시퀀스에 대해 이 작업을 수행해야 합니다.사용하면서 다듬는 것을 잊지 마세요.
String text ="ISTANBUL AND NEW YORK AND PARIS OR TOKYO AND MOSCOW";
String[] cities = text.split("AND|OR");
결과: 도시 = {"이스탄불 ", "뉴욕", "파리", "도쿄", "모스크바"}
Apache Commons를 사용합니다.
수입품org.apache.commons.lang3.StringUtils;
private void getId(String pdfName){
String[] tokens = StringUtils.split(pdfName, "-.");
}
지정된 구분자 중 하나로 분할됩니다.StringUtils.splitByWholeSeparator(str, separator)완전한 문자열을 구분자로 사용합니다.
String[] token=s.split("[.-]");
pdfName.split("[.-]+");
[.-]-> 다음 중 하나.또는-구분자로 사용할 수 있습니다.+부호는 앞에서 말한 구분자가 연속적으로 발생할 경우 구분자를 하나로 취급해야 함을 나타냅니다.
다음과 같은 것을 사용하는 것이 좋습니다.
s.split("[\\s\\-\\.\\'\\?\\,\\_\\@]+");
샘플로 몇 개의 다른 문자를 추가했습니다.이게 가장 안전한 방법이에요. 왜냐하면.그리고.'치료됩니다.
split() 메서드에서 정규 표현을 인수로 지정할 수도 있습니다.아래의 예를 참조해 주세요.
private void getId(String pdfName){
String[]tokens = pdfName.split("-|\\.");
}
다음 코드를 사용해 보십시오.
var string = 'AA.BB-CC-DD.zip';
array = string.split(/[,.]/);
s.trim().split("[\\W]+")
작동해야 합니다.
스팅이 항상 같은 형식인 것을 알고 있는 경우는, 우선, 다음에 근거해 스트링을 분할합니다..변수의 첫 번째 인덱스에 문자열을 저장합니다.다음으로 두 번째 인덱스의 문자열을 분할합니다.-인덱스 0, 1, 2를 저장합니다.마지막으로 이전 어레이의 인덱스 2를 분할합니다..관련 필드를 모두 취득해 둘 필요가 있습니다.
다음의 스니펫을 참조해 주세요.
String[] tmp = pdfName.split(".");
String val1 = tmp[0];
tmp = tmp[1].split("-");
String val2 = tmp[0];
...
언급URL : https://stackoverflow.com/questions/5993779/use-string-split-with-multiple-delimiters
'source' 카테고리의 다른 글
| 롬복은 어떻게 작동하나요? (0) | 2022.08.01 |
|---|---|
| 문자열이 null과 동일한지 확인하는 방법 (0) | 2022.08.01 |
| @nuxtjs/auth를 사용하여 오류 서버 응답을 캡처합니다. (0) | 2022.08.01 |
| raw 타입은 무엇이며, 왜 사용하면 안 되는 것입니까? (0) | 2022.08.01 |
| Vue 구성 요소가 여러 개체를 소품으로 전달하지 않음 (0) | 2022.08.01 |