gpt4 book ai didi

java - 在 Java 中用字符串替换字符串

转载 作者:行者123 更新时间:2023-11-29 03:12:08 25 4
gpt4 key购买 nike

我有这个字符串:

String line = "Hello John; , my name is also John.";

和这个字符串:

String word = "John";
char c = "-";

并想要这个输出:

"Hello -John-; , my name is also -John-."

这是我到目前为止所做的:

public String changeString(String line, String word, char c){

String result = null;

if(line.toLowerCase().contains(word.toLowerCase())){

result = line.replaceAll(word, c + word + c);

}

return result;
}

但是,使用这个函数我得到了这个输出:

 String result = "Hello -John;- , my name is also -John.-";

我该如何解决这个问题?

更新:

如果我有一个数组而不是只有一个单词,我怎样才能让它工作?

import java.util.*;
import java.lang.*;
import java.io.*;


class Text
{
public static void main(String[] args) throws Exception {
String line = "Hello John; , my name: is also John.";
String[] words = {"John","name"};
char c = '-';
changeString(line, words, c);



}

public static void changeString(String line, String[] words, char c) {
String result = null;

for(int i = 0; i < words.length; i++){
if (line.toLowerCase().contains(words[i].toLowerCase())) {
result = line.replaceAll(words[i], c + words[i] + c);
}
else
result = line;
}
System.out.println(result);
}
}

因为输出不是我们想要的:

"Hello John; , my -name-: is also John."

最佳答案

代替:

result = line.replaceAll(word, c + word + c);

使用:

result = line.replace(word, c + word + c);

注意事项:

您可能正在使用 john。而不是 john 和 replaceAll api 使用正则表达式作为参数。此外,字符是用单引号定义的,而不是像 char c = '-';

这样的双引号

关于java - 在 Java 中用字符串替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28794691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com