关于这个问题,我完全不知道该怎么办。我要做的是从一串单词中提取一个单词,然后用另一个字符串中的单词替换它。例如,提示我的一个例子是:
//changeWords("Hi nice to meet you", "hi", "hello") returns ["hello", "nice", "to", "meet", "you"]
以下是我目前打印出来的内容:
public static String[] changeWords(String text, String find, String replace)
{
String[] words = new String[0];
words = text.split(" ");
if (words[0] == find) {
words[0].set(replace);
}
return words;
}
诚然,我的代码不太详细,也不太可能找到解决方案,但我想从我的代码中得到一些指导。谢谢你的帮助。
2条答案
按热度按时间gg58donl1#
正如@d george所说的,您需要使用循环进行循环,并使用.equals()方法来比较字符串。你可以修改你的代码如下。。。或者使用string对象的.replacefirst()方法替换搜索字符串的第一个匹配项。试试这个
还是这个
上述方法非常适合只替换搜索字符串的第一个匹配项的情况。如果要替换搜索字符串的所有出现项,则不需要使用数组,因为字符串对象附带replace方法。可以执行此操作以替换所有引用:
kyxcudwk2#
先替换,然后拆分。
既然你想匹配
find
在不区分大小写的情况下,一个简单的方法是使用(?i)
用正则表达式。演示:
输出: