所以我所拥有的是一个包含推文的字符串,我们称之为tweetString
。现在我的目标是在终端中显示此字符串,但我想在主题标签之前和之后使用ANSI_YELLOW
和ANSI_RESET
更改我可以执行的主题标签的颜色。
例如,如果我的字符串是:"Hello world #computerScience"
我可以像这样修改它以使主题标签颜色为黄色:"Hello world ANSI_YELLOW #computerScience ANSI_RESET"
问题实际上归结为我该怎么做?现在我想忽略这样一个事实:推文可能在他们的推文中包含一个#
符号而不是标签。
有没有人知道我可以解析字符串并插入变量调用的方法?
答案 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包含" $"会得到"非法的群体参考"。