首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java :在字符串中找到一个单词,如果它位于特定位置,则用一个新单词替换它

java :在字符串中找到一个单词,如果它位于特定位置,则用一个新单词替换它
EN

Stack Overflow用户
提问于 2012-03-05 06:40:04
回答 4查看 3K关注 0票数 2

我有一个示例字符串,如:

“我爱板球。我爱足球。我爱网球。我爱每一场比赛!”

现在我要做的是第一次将I (在1位置)替换为"We“。所以它变成了

我们爱板球。我爱足球。我爱网球。我爱每一场比赛!”

在第二次运行中,我希望将I (位于7位置)替换为"We“。

“我爱板球。我爱足球。我们爱网球。我爱每一场比赛!”

所以我想说的是用一个新词代替一个特定位置的单词。到目前为止,我试着做了如下的事情:

  1. ReplaceAll -只有当单词是统一词时才有效,但在其他情况下都失败了。
  2. StringTokenizer --用它得到一个数组。在词组位置替换单词,然后再追加数组中的所有元素。问题是,这些特殊的人物都丢失了。

请提出一个更好的办法来解决这个问题。

编辑:可以改变,而不是具体的“”。

EN

回答 4

Stack Overflow用户

发布于 2012-03-05 06:49:03

yourString.split(" ")给出了一系列的单词。为指定的索引分配新值,然后通过空格(“")分隔符追加条目,以生成新的结果字符串。

代码语言:javascript
复制
public static void main(String args[]) throws Exception 
{
    String testString = " I Love cricket. I Love football. I Love tennis. I Love every game!!! ";
    String[] words = testString.split(" ");
    words[7] = "We";
    String newString = "";

    for (int i = 0; i < words.length; i++)
        newString += " " + words[i];

    System.out.println(newString);
}
票数 1
EN

Stack Overflow用户

发布于 2012-03-05 06:47:28

使用StringBuilder代替,使用insert()方法。

票数 0
EN

Stack Overflow用户

发布于 2012-04-05 17:50:49

代码语言:javascript
复制
StringBuilder sb = 
    new StringBuilder(" I Love cricket. I Love football. I Love tennis. I Love every game!!! ")

sb.replace(1, 2, "We")
  .replace(35, 36, "We")

return sb.toString()

如果你需要动态地找到“我”的位置,然后用“我们”替换其中的一些,那就另当别论了,但你明白了。

替换( int,int,String ):将此序列的子字符串中的字符替换为指定字符串中的字符。它返回这个命令,这样您就可以链接几个替换调用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9562587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档