문자열 기반을 구분 기호 -
및 로 분리해야합니다 .
. 아래는 내가 원하는 결과입니다.
AA.BB-CC-DD.zip
->
AA
BB
CC
DD
zip
그러나 다음 코드는 작동하지 않습니다.
private void getId(String pdfName){
String[]tokens = pdfName.split("-\\.");
}
AA
/ BB
/ CC
...)
문자열 기반을 구분 기호 -
및 로 분리해야합니다 .
. 아래는 내가 원하는 결과입니다.
AA.BB-CC-DD.zip
->
AA
BB
CC
DD
zip
그러나 다음 코드는 작동하지 않습니다.
private void getId(String pdfName){
String[]tokens = pdfName.split("-\\.");
}
AA
/ BB
/ CC
...)
답변:
정규식 OR 연산자 를 포함해야한다고 생각합니다 .
String[]tokens = pdfName.split("-|\\.");
일치하는 항목 :
[DASH 또는 DOT 중 하나
]가 -.
아닌
[DASH 와 함께 DOT] -
또는.
.
정규식 의 문자는 줄 바꾸기 이외 의 문자를 의미합니다. tutorialspoint.com/java/java_regular_expressions.htm 그러나이 경우 실제 문자를 원했습니다 .
. 두 개의 백 슬래시는 참조하고 있음을 나타냅니다 .
. 백 슬래시는 이스케이프 문자입니다.
.split("match1|match2")
, 예를 들어 split("https|http")
, \\는 .
위의 경우 특수 문자를 피하는 것입니다
pdfName.split("\\W");
으로 다음과 같이 사용할 수 있습니다. @Peter Knego answer
[-.]
대신 사용-|\\.
이 정규식을 사용해보십시오 "[-.]+"
. + after는 연속 분리 문자를 하나로 취급합니다. 원하지 않는 경우 플러스를 제거하십시오.
-
는 그것이 내부 에서 처음으로 생각 했기 []
때문입니다. 그렇지 않으면 앞에 백 슬래시가 있어야합니다 (물론, 백 슬래시를 앞에 두려면 문자열 리터럴이므로 두 개가 필요합니다 ).
제공 split
하는 문자열은 정규식의 문자열 형식이므로 다음과 같습니다.
private void getId(String pdfName){
String[]tokens = pdfName.split("[\\-.]");
}
즉 , 내부의 특수 문자 이므로 백 슬래시 []
로 이스케이프 처리해야합니다 . 물론 문자열이기 때문에 백 슬래시를 이스케이프 처리해야합니다. (반대로, 일반적으로 특별하지만 내부 에서는 특별 하지 않습니다 .)-
[]
.
[]
[-.]
. 범위로 해석 할 수 없기 때문 입니다.
String[] strings = codes.get(x).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"}
String[] token=s.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];
...
pdfName.split(".")
길이가 0 인 배열이됩니다.
.
과 같이 탈출해야 함\\.