[英]How to insert a char before each char in a string, but not before 'space' in Java?
[英]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中的字符串是不可变的。 它们无法更改。 您用来“更改”字符串的任何方法都必须返回一个新字符串。 如果要直接修改字符串,则需要使用可变字符串类型,例如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.