JAVA String replaceAll hashtag内容

时间:2014-02-27 00:16:19

标签: java hashtag replaceall

我在使用Twitter API时使用以下代码作为测试。

当我从流中获取推文并将其存储在mySQL中时,如何删除主题标签以及任何尾随字符? (基本上省略了标签内的所有内容)

我可以使用replaceAll并传递“#”和“,”值并用“”替换它们。它工作,输出低于代码,但我如何使用替换标签的所有内容,包括“不”“#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

2 个答案:

答案 0 :(得分:5)

您需要使用正则表达式

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

如果您希望单独的主题标签后面没有文字,请使用"#[A-Za-z]*"

对您的问题的评论会针对后跟不仅仅是字母字符的主题标签 - "#[^\\s]+其中[^\\s]表示任何不是空格的内容。

答案 1 :(得分:1)

我会选择像

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

尝试使用此网站来帮助http://regexpal.com/