2014-02-27 9 views
1

Twitter API를 사용할 때 나중에 테스트 할 때 아래 코드를 사용하고 있습니다.JAVA String replaceAll hashtag 내용

내 스트림에서 트윗을 가져 와서 mySQL에 저장하면 어떻게 뒤 따르는 문자와 함께 해시 태그를 제거 할 수 있습니까? (기본적으로 해시 태그 안의 모든 내용을 생략 함)

replaceAll을 사용하고 "#"및 ","값을 전달하고 ""로 바꿀 수 있습니다. 그것은 작동하고 출력은 코드 아래이지만, "not" "#not"을 포함하여 해시 태그의 모든 내용을 대체하는 데 어떻게 사용합니까?

public class replaceAllTest { 
    public static void main (String args[]){ 
     String sampleString = "This game was amazing, #not"; 

     System.out.println("Before: " + sampleString); 

     sampleString = sampleString.replaceAll("#", ""); 
     sampleString = sampleString.replaceAll(",", ""); 

     System.out.println("After: " + sampleString); 
    } 

} 

위의 코드의 출력 :

Before: This game was amazing, #not 
After: This game was amazing not 
위의 코드에서

예상 출력 :

어떤 도움을 주시면 감사하겠습니다
Before: This game was amazing, #not 
After: This game was amazing 

, 감사 Z19

+1

도움이 웹 사이트를 사용해보십시오. '(,? \ s * # [^ \ s] +) +'http://www.rexfiddle.net/r3hU8jT –

+0

세 분이 저를 도와 주셔서 감사합니다. 나는 너에게 빠른 응답을 주셔서 감사합니다 :) – Z19

답변

4

당신이 필요 정규 표현식 사용

아무것도하지 공백을 의미 곳 "#[^\\s]+ -

텍스트 다음에하지 고독한 해시 태그를 기대하는 경우는, 귀하의 질문에 "#[A-Za-z]*"

코멘트를 사용하는 것은 단지 알파보다 더 많은 문자가옵니다 해시 태그를 해결합니다. 나는 약간 같은

sampleString = sampleString.replaceAll(",\s+#[A-Za-z]+", ""); 

갈 것

+0

도와 줘서 고맙습니다. :) – Z19

+0

@ Z19 두 번째 제안 인'# [^ \ s] +'를 사용하고 싶을 것입니다. 또한 [Regular Expressions] (http://en.wikipedia.org/wiki/Regular_expression#Syntax)에 대해 읽으려면 30 분이 소요됩니다. 그것은 당신이 알 수있는 가장 유용한 것들 중 하나입니다. – MirroredFate

+0

("# [^ \ s] +", "")에 "잘못된 이스케이프 시퀀스"오류가 있습니다. – Z19

1

난 당신이 정규 표현식에 대한 몇 가지 소개 자습서를 확인하시기 http://regexpal.com/

+0

당신이 나를 도왔습니다. 고맙습니다 :) – Z19