Arraylist에 문자열 그룹이 있습니다.숫자가있는 자바 문자열
숫자가 모두 인 모든 문자열을 제거하고 싶은 경우 (0.75 %), $ 1.5 .. 같은 문자는 기본적으로 문자를 포함하지 않는 모든 문자를 제거하려고합니다. 2) 콘솔에 쓰기 전에 문자열의 모든 특수 문자를 제거하고 싶습니다. 는 "하나님은 하나님을 인쇄해야 & quot; 포함하여 인쇄해야합니다. 당신이 말할 때
Arraylist에 문자열 그룹이 있습니다.숫자가있는 자바 문자열
숫자가 모두 인 모든 문자열을 제거하고 싶은 경우 (0.75 %), $ 1.5 .. 같은 문자는 기본적으로 문자를 포함하지 않는 모든 문자를 제거하려고합니다. 2) 콘솔에 쓰기 전에 문자열의 모든 특수 문자를 제거하고 싶습니다. 는 "하나님은 하나님을 인쇄해야 & quot; 포함하여 인쇄해야합니다. 당신이 말할 때
을 찾을해야 찾기 ' 을 quoteIncluding"문자, Z를 통해 "당신은 의미 겠지" "와"A Z까지 "당신은 아마 정규 표현식 D1e 코멘트에서 언급 한 바와 같이 (정규식)를 사용하려면 여기 완전히 대체 방법을 사용하여 예입니다
이import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>(5);
list.add("\"God");
list.add(""Including");
list.add("'find");
list.add("24No3Numbers97");
list.add("w0or5*d;");
for (String s : list) {
s = s.replaceAll("[^a-zA-Z]",""); //use whatever regex you wish
System.out.println(s);
}
}
}
은 다음이 코드의 출력은 다음과 같습니다..
하나님
quotIncluding
는
NoNumbers
완전히 대체 방법 (빈 문자열이 경우) 정규식 패턴을 사용하고 두 번째 매개 변수와 일치하는 모든 대체
단어를 찾을 수 있습니다.
Java는 정규식을 사용하는 매우 멋진 Pattern class을 자랑합니다. 당신은 확실히 그것에 대해 읽어야합니다. 좋은 참고 가이드는 here.
코딩 솔루션을 게시하려고했지만 styfle이 저를 때려 눕혔습니다. 내가 여기에 다른 할 거라고 유일한 것은 for 루프 이내, 나는 같은 패턴과 Matcher를 클래스를 사용하는 것입니다 :
for(int i = 0; i < myArray.size(); i++){
Pattern p = Pattern.compile("[a-z][A-Z]");
Matcher m = p.matcher(myArray.get(i));
boolean match = m.matches();
//more code to get the string you want
}
하지만 너무 부피가 큰. styfle의 솔루션은 간결하고 쉽습니다.
좋은 답변입니다. 스택 오버플로에 오신 것을 환영합니다! –
대단히 고마워! 이 커뮤니티는 대단합니다. :) – SpacePyro
[regex] (http://download.oracle.com/javase/tutorial/essential/regex/) 냄새가납니다. – JMelnik
".. 문자를 포함하지 않는 모든 것들 .."그것이 단서입니다! '제거'를 생각하는 대신 '포함', 'A-Z'및 'a-z'를 생각하는 것은 26 + 26 알파벳입니다. –
지금까지 시도한 것은 무엇입니까? – MatthewD