繁体   English   中英

如何在字符串中插入字符(java / groovy)?

[英]How Do Insert a char in string (java/groovy)?

我有一个像这样的字符串:

string = abcdefghabcd

现在可以说,我要替换的第一次出现a 我尝试过这样的事情:

string[string.indexOf('a')] = '0'

但这似乎不起作用。 还有其他方法可以做到吗?

提前致谢。

在Java中,您可以使用String.replaceFirst()

String s = "abcdefghabcd";
s = s.replaceFirst("a", "0");
System.out.println(s);

输出将是:

0bcdefghabcd

警告: replaceFirst()方法使用正则表达式:因此,如果要替换特殊字符,例如[您需要在其前面加上\\进行转义。 \\本身就是一个特殊字符,您需要将其加倍,如下所示:

s = s.replaceFirst("\\[", "0");

是有关Java正则表达式的文档。 另外, 是Oracle的有关处理字符串中字符的Java教程。

您应该意识到Java中的字符串是不可变的。 它们无法更改。 您用来“更改”字符串的任何方法都必须返回一个新字符串。 如果要直接修改字符串,则需要使用可变字符串类型,例如StringBuilder。

String API文档中有很多方法可以帮助您获取修改后的字符串版本,包括s.replace(),s.replaceAll(),s.replaceFirst()等,也可以组合使用子字符串和“ +”创建一个新字符串。

如果您确实希望像最初的示例一样将字符串视为数组,则可以使用String.getChars获取字符数组,对其进行处理,然后使用String构造函数String(char [])转换回字符串。字符串对象。

在此程序中,您将需要在Java中使用String类的replaceFirst()方法。

  /*
Java String replace example.
This Java String Replace example describes how replace method of java String
class can be used to replace character or substring by new one.
*/

public class JavaStringReplaceExample{

    public static void main(String args[])
{

String str="abcdefghabcd";

 System.out.println(str.replaceFirst("a", "0"));
}
 }

你可以参考这里的详细信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM