我在使用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
答案 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/