Programing

여러 구분 기호와 함께 String.split () 사용

lottogame 2020. 5. 16. 10:04
반응형

여러 구분 기호와 함께 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 중 하나
]가 -.
아닌
[DASH 와 함께 DOT] -또는.


이 정규식을 사용해보십시오 "[-.]+". + after는 연속 분리 문자를 하나로 취급합니다. 원하지 않는 경우 플러스를 제거하십시오.


정규식 "\ W"를 사용할 수 있습니다. 이는 단어가 아닌 문자와 일치합니다. 필요한 줄은 다음과 같습니다.

String[] tokens=pdfName.split("\\W");

구아바사용하면 다음과 같이 할 수 있습니다.

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"); 

결과 : 도시 = { "ISTANBUL", "NEW YORK", "PARIS", "TOKYO", "MOSCOW"}


Apache Commons를 사용합니다.

수입 org.apache.commons.lang3.StringUtils;

private void getId(String pdfName){
    String[] tokens = StringUtils.split(pdfName, "-.");
}

StringUtils.splitByWholeSeparator(str, separator)전체 문자열을 구분 기호로 사용 하는 것이 아니라 지정된 구분 기호로 분할됩니다.


split () 메소드에서 정규식을 인수로 지정할 수도 있습니다. 아래 예를 참조하십시오.

private void getId(String pdfName){
String[]tokens = pdfName.split("-|\\.");
}

다음과 같은 것을 사용하는 것이 좋습니다 :

s.split("[\\s\\-\\.\\'\\?\\,\\_\\@]+");

샘플로 몇 가지 다른 문자를 추가했습니다. 방법 .치료법이 있기 때문에 이것이 가장 안전한 방법 '입니다.


s.trim().split("[\\W]+") 

작동해야합니다.


이 코드를 사용해보십시오 :

var string = 'AA.BB-CC-DD.zip';
array = string.split(/[,.]/);

String[] token=s.split("[.-]");

찌르기가 항상 같은 형식임을 알면 먼저 문자열을 기준으로 분할하고 문자열을 .변수의 첫 번째 색인에 저장하십시오. 그런 다음 -인덱스 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

반응형