Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何仅替换/编辑Java中的特定单词?_Java_String_Replace - Fatal编程技术网

如何仅替换/编辑Java中的特定单词?

如何仅替换/编辑Java中的特定单词?,java,string,replace,Java,String,Replace,我想要一个特定的单词被替换/编辑。但不幸的是,其他包含要替换单词的单词也被替换了 例如: String test=“我是一个工具” 现在如果我想把“ool”这个词换成什么,“tool”也要换了。那么我该如何解决这个问题呢?我只想把ool编辑一下。“工具”应该保持原样 下面是一些代码: public class StringMethoden { public static void main(String[] args) { String bsp = "I am a ool tool

我想要一个特定的单词被替换/编辑。但不幸的是,其他包含要替换单词的单词也被替换了

例如:

String test=“我是一个工具”

现在如果我想把“ool”这个词换成什么,“tool”也要换了。那么我该如何解决这个问题呢?我只想把ool编辑一下。“工具”应该保持原样

下面是一些代码:

public class StringMethoden {

public static void main(String[] args) {


    String bsp = "I am a ool tool";

    if (bsp.matches("(.*)ool(.*)")){


        bsp = bsp.replaceAll("ool", "test");
        System.out.println(bsp);
             }
    else {
        System.out.println("sentence does not conain 'ool' !");
    }}
Outut:我是一名测试人员

Java正则表达式中的单词边界(
\b
)确保字符串中的某个点是单词的开始/结束

bsp = bsp.replaceAll("\\bool\\b", "test");

这里有一个类似的方法来解决这个问题,我们也可以使用.contains()方法,方法如下,如果有问题,请随时提问

    String bsp = "I am a ool tool";
    if (bsp.contains(" ool")) {

        bsp = bsp.replaceAll(" ool", " test");
        System.out.println(bsp);
    } else {
        System.out.println("sentence does not conain 'ool' !");
    }
输出:

我是一个测试工具


单词
“ool”
和部分单词
“*ool*”
之间有什么区别?完整的单词周围没有其他字母。