Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.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 - Fatal编程技术网

Java 替换字符串中的字符

Java 替换字符串中的字符,java,string,Java,String,我正在替换字符串中的一个字符。必须有更好的方法来做到这一点,对吗 public static String eqEq(String stringIn) { char[] stringArray; stringArray = stringIn.toCharArray(); for (int i = 0; i < stringIn.length(); i++){ if(stringArray[i] == '='){ s

我正在替换字符串中的一个字符。必须有更好的方法来做到这一点,对吗

public static String eqEq(String stringIn) {


    char[] stringArray;

    stringArray = stringIn.toCharArray();

    for (int i = 0; i < stringIn.length(); i++){

        if(stringArray[i] == '='){

            stringArray[i] = '?';
        }

        }

    String sReturn = new String(stringArray);
    return sReturn;
}
publicstaticstringeqeq(stringstringin){
字符[]字符串数组;
stringArray=stringIn.toCharArray();
对于(int i=0;i
替换()有什么问题吗

请注意,
replace()
替换所有出现的内容,但使用纯文本搜索/替换,这与
replaceAll()
不同,后者是
replace()
的正则表达式版本

另请注意,
replace()
有两个版本:一个版本具有
char
参数(此处使用),另一个版本具有
String
参数,以防您要搜索/替换多个字符。

例如,您可以尝试

stringIn = stringIn.replace('=', '?');
如果要使用正则表达式,甚至可以使用

您甚至可以使用
StringBuilder

StringBuilder sb = new StringBuilder(value);
int index = -1;
while ((index = sb.indexOf("=")) != -1) {
    sb.replace(index, index + 1, "?");
}
您可以选择

您可以在String类上使用或方法,如下所示:

public static String eqEq(String stringIn) {
  stringIn.replace("=", "?");
}


查看在示例字符串上运行的此代码(使用
replaceAll
)的详细信息。

查看
StringBuilder
?string.replace/replaceAll?很奇怪,但是它们是否允许
string.replace()
在一次求职面试中?@pcnThird让我想起了一个关于物理学家的故事,他不得不根据给定的值来计算一座塔的高度——他只是问礼宾部,因为教授委员会没有具体说明任何事,在所有的教授询问他在做什么之后,他想出了8个以上他能想到的其他解决方案已经计算了高度。实现目标的方法有很多种——只要你能解释你的意图并退回到其他策略,为什么不呢?@MadProgrammer
replace()
有两个版本:,[另一个用于字符串]((实际上是CharSequences)。我想在这种情况下,我们应该使用char版本。完成。对不起,我的错误:P一直忘记
CharSequence
one
public static String eqEq(String stringIn) {
  stringIn.replace("=", "?");
}
public static String eqEq(String stringIn) {
  stringIn.replaceAll("=", "?");
}