gpt4 book ai didi

java - 在java中每次出现在字符串中替换一个字符

转载 作者:行者123 更新时间:2023-11-29 06:24:31 24 4
gpt4 key购买 nike

每次在字符串 HELLO WORLD 中找到“L”时,我想用“x”替换字符串中的“L”。并且 x 将增加每次出现的 L。

input: "HELLO WORLD"
output: "HExxxO WORxxxD"

仅使用字符串方法:.length; 。指数; .substring.concat(或 +)。

编辑

这是我的尝试:

public static String replace(String input,String pattern) { 

String result = " ";
int stringLength;
int patternIndex;

while (input !=null) {
patternIndex = input.indexOf(pattern);
stringLength = input.length();
}

return result;
}

我只找到模式的索引和替换字符有问题的字符串的长度。

最佳答案

首先:理智的解决方案:

StringBuilder  sb = new StringBuilder();
StringBuilder r = new StringBuilder();
for( char c : "HELLO LAZY LIMBO WORLD" .toCharArray() ) {
if( c == 'L' ) {
sb.append(r.append('x'));
} else {
sb.append( c );
}
}
return sb.toString() );

然后修改以符合仅使用有效方法的标准 .length; .indexOf; .substring.concat (或 +)(删除 toCharArray();StringBuilder )

public static String replace( String input ){ 
String replacement = "";
int iot = -1;
while( ( iot = input.indexOf('L')) > -1 ) {
input = input.substring(0,iot) +
( replacement+='x' ) +
input.substring(iot+1);
}
return input;
}

那个看起来像一个 for 循环。让我们改变它!

只有两个语句(declr 和一个 for 循环):

public static String replace( String in ){     
String x = "";
for( int i = 0; ( i = in.indexOf('L',i)) > -1 ;
in = in.substring(0,i++) + ( x=x+'x' ) + in.substring(i) );
return in;
}

产量:

HExxxO xxxAZY  xxxxIMBO WOxxxxxR

现在,就是!一个 for 循环。我几乎让 Java 看起来像 perl。

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

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