如何在*
之后S
和*
S
之后插入StringBuffer textInFile= new StringBuffer ("Stanford ");
public void convertToPTD(PlainTextDocument ptd)
{
if(ptd.textInFile.charAt(i)=='S')
{
ptd.textInFile.......???
}
System.out.println(ptd.textInFile);
return;
}
StringBuffer Java?
{{1}}
答案 0 :(得分:3)
使用.replace
方法。一个例子:
char c = '*';
String s = "S";
String str = "Stanford";
String rep = str.replace(s, c + s + c);
答案 1 :(得分:0)
您的第一步是找到“S”所在的索引列表。
您的第二步是,对于每个索引,将“S”替换为“* S *”。
以下是:
int i = -1;
while (true) {
i = buffer.indexOf(i + 1, "S");
if (i == -1) break; // No more occurrences of "S" are found
buffer = buffer.replace(i, i + 1, "*S*");
}
如果在我们正在查看的字符串部分中没有出现我们想要的子字符串,则indexOf()返回-1。
答案 2 :(得分:0)
您可以递归使用它以满足您的需求。
下面是我在我的机器上测试过的一段代码。希望它对你有用:
StringBuffer str = new StringBuffer("WhereStanford");
str = str.replace(str.indexOf("S", 0), str.indexOf("S", 0)+1, "*S*");