如何获得所需的输出?
输入字符串 -
"Software Industry. software Industry. SOFTWARE INDUSTRY. software industry. "
要搜索的字词 -
"software industry"
输出 -
"*Software Industry*. *software Industry*. *SOFTWARE INDUSTRY*. *software industry*. "
简而言之,我必须找到一个短语并用开头和结尾的星号(*)替换相同的短语,忽略案例..
答案 0 :(得分:3)
您可以使用模式匹配(正则表达式)。
首先使用group提取短语并存储在字符串或任何其他数据结构中。 然后使用Replace功能来实现输出。
你可以参考这篇文章:http://www.vogella.com/articles/JavaRegularExpressions/article.html
答案 1 :(得分:3)
您可以replaceAll
使用(?i)
进行case-insensitive
替换。
String str = "Software Industry. software Industry. SOFTWARE INDUSTRY. "+
"software industry. "
str = str.replaceAll("(?i)(software industry)", "\\*$1\\*");
答案 2 :(得分:2)
您还可以尝试以下方式:
String str=new String("Software Industry. software Industry. SOFTWARE INDUSTRY. software industry.");
str=Pattern.compile("(software industry)",Pattern.CASE_INSENSITIVE).matcher(str).replaceAll("*$1*");