解析String以在其中添加元素

时间:2015-12-17 12:21:20

标签: java string twitter

所以我所拥有的是一个包含推文的字符串,我们称之为tweetString。现在我的目标是在终端中显示此字符串,但我想在主题标签之前和之后使用ANSI_YELLOWANSI_RESET更改我可以执行的主题标签的颜色。

例如,如果我的字符串是:"Hello world #computerScience"

我可以像这样修改它以使主题标签颜色为黄色:"Hello world ANSI_YELLOW #computerScience ANSI_RESET"

问题实际上归结为我该怎么做?现在我想忽略这样一个事实:推文可能在他们的推文中包含一个#符号而不是标签。

有没有人知道我可以解析字符串并插入变量调用的方法?

3 个答案:

答案 0 :(得分:1)

快速暗示一下你。拆分字符串并检查单词是否以#开头,如果是,则在开头和结尾添加单词。 在java中使用startsWith

1) Split the words using 'split function'

2) If(word.startsWith("#")) { 
    word = "ANSI_YELLOW "+word +   " ANSI_RESET";
   } 

答案 1 :(得分:0)

对于那样的东西,正则表达式是你的朋友:

String text = "Hello world #computerScience";
text = text.replaceAll("(#\\w+)", "ANSI_YELLOW$1ANSI_RESET");
// Hello world ANSI_YELLOW#computerScienceANSI_RESET

String text = "Hello world #java #color #hashtag";
text = text.replaceAll("(#\\w+)", "ANSI_YELLOW$1ANSI_RESET");
// Hello world ANSI_YELLOW#javaANSI_RESET ANSI_YELLOW#colorANSI_RESET ANSI_YELLOW#hashtagANSI_RESET

答案 2 :(得分:0)

如果代码编写如下

text = text.replaceAll("(#\\w+)", ANSI_YELLOW + " $1 " + ANSI_RESET);

并且ANSI_YELLOW或ANSI_REST包含" $"会得到"非法的群体参考"。