gpt4 book ai didi

java - 使用replace方法只替换一个字符或字符串

转载 作者:行者123 更新时间:2023-12-02 01:37:53 25 4
gpt4 key购买 nike

我的问题是我只想替换一个特定的字符或字符串的一部分,而不是同一字符的其余部分

我的例子

char one = '#';
char two = '#';
char three = '#';
char four = '#';
char five = '#';
char six = '#';
char seven = '#';
char eight = '#';
char nine = '#';

String chart = "\n"+ one + two + three + "\n" + four + five + six + "\n"+ seven
+ eight + nine + "\n\n";

chart = chart.replace(five, '/');
System.out.print(chart);

它输出://///////

而不是:### #/# ###

感谢任何帮助!

最佳答案

从 String 创建一个 StringBuilder 对象并使用 charAt 方法。

https://www.tutorialspoint.com/java/lang/stringbuilder_charat.htm

然后调用toString

int replacePosition = 5;//Choose it.
String inputStr = getYourString();
StringBuilder sb = new StringBuilder(inputStr);
sb.chrAt(replacePosition);
String result = sb.toString();

如果您有一个字符串,并且您只想替换其重复至少 n 次的单个字符并替换其第 n 次出现(在您的示例中为 5),那么您需要先找到它的位置,然后使用StringBuilder.charAt()应用解决方案。

要查找角色的索引,您可以简单地循环遍历图表,或使用方法indexOf() https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#indexOf(int,%20int)

n 次,如果之前的 indexOf 为正,则每次都会使用上次调用的新起始位置。

关于java - 使用replace方法只替换一个字符或字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54954848/

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