문자열을 기호으로 나눌 때 String.split()
으로 전달해야하는 정규식은 무엇입니까? 이제 임의의 기호로 문자열 분할
`~`, `!`, `@`, `#`, ...
기본적으로 비 문자와 숫자가 아닌 인쇄 가능한 문자.
문자열을 기호으로 나눌 때 String.split()
으로 전달해야하는 정규식은 무엇입니까? 이제 임의의 기호로 문자열 분할
`~`, `!`, `@`, `#`, ...
기본적으로 비 문자와 숫자가 아닌 인쇄 가능한 문자.
당신은 \W
\W
즉 비 단어를 사용한다는 \w
\W
의 역이 [^a-zA-Z0-9_]
과 유사하다 그래서 _
또는
제외한 모든 비 단어 문자와 일치합니다을 사용하면됩니다.
나는 이것이 효과가 있다고 생각한다. 감사합니다 – user1508893
당신도 Spring.split("[[email protected]$]")
같은 구체적 또는 당신이를 사용하여 시도 할 수 있습니다 Spring.split("[^\\w]")
\ w = [a-zA-Z0-9_] – pogo
감사합니다. –
'[^ \ w] == \ W == [^ a-zA-Z0-9_]'이므로 밑줄이 포함되어 있습니다. – NullUserException
에 분할하지 않을 값을 나열 할 수 : -이
str.split("[^a-zA-Z0-9]");
이는 underscore
포함되지 않습니다.
\W
는 것과 같습니다 : - "[a-zA-Z0-9_]"
@NullUserException. 업데이트 된 게시물. 감사합니다 :) –
'[_^\ w]'는 당신이 생각하는대로하지 않습니다. – NullUserException
오. 그렇다면 우리는 어떻게 그것으로부터'_'을 제거하겠습니까? –
당신은 \W
또는 ^\w
를 사용할 수 있습니다. 여기에서 자세한 내용을 찾을 수 있습니다 : Regex: Character classes
String str = "[email protected]$d!e";
String[] splitted = str.split("\\W");
System.out.println(splitted.length); //<--print 4
또는
이String str = "[email protected]$d!e";
String[] splitted = str.split("[^\\w]");
System.out.println(splitted.length); //<--print 4
'[\\ W]'는 중복되어 있습니다. 단지'\\ W'가 아닌가요? – NullUserException
@ NullUserException : 나는 다른 패턴을 넣기 시작했다. '[^ a-zA-Z0-9]'는 '\ W'로 바뀌 었습니다 :) 중괄호를 제거했습니다. –
당신이 아닌 영숫자을 의미합니까? – thatidiotguy
그래, 그런 것 같아. – user1508893
'.split ("[^ a-zA-Z0-9]")' – NullUserException