用Java中的特定字符串替换字符

用Java中的特定字符串替换字符,java,string,replace,Java,String,Replace,我有一个程序,它应该用新字符串替换字符串中的替换字符。假设我有 字符串s1=“JAVAJAVA” 字符串s2=“VA” 输出: VAAVAAVAAVAA s1的每个备用索引中的字符应替换为s2。我尝试过使用StringBulider,但无法继续使用它。有人能帮我一下吗。谢谢试试这个: s1 = s1.replaceAll(".(.)", s2+"$1"); 说明:正则表达式“(.”“每2个字符匹配一次。第二个字符是“记住的”(括号),因此您可以在替换部分($1):您尝试过字符串替换功能吗 以

我有一个程序,它应该用新字符串替换字符串中的替换字符。假设我有

字符串s1=“JAVAJAVA”
字符串s2=“VA”

输出:

VAAVAAVAAVAA

s1的每个备用索引中的字符应替换为s2。我尝试过使用StringBulider,但无法继续使用它。有人能帮我一下吗。谢谢

试试这个:

 s1 = s1.replaceAll(".(.)", s2+"$1");

说明:正则表达式
“(.”“
每2个字符匹配一次。第二个字符是“记住的”(括号),因此您可以在替换部分(
$1
):

您尝试过字符串替换功能吗

以下是一些例子:

您可以这样使用它:

String newString = s1.replace("J", s2);

如果您想走REGEX以外的路,可以使用其他简单的解决方案,不过最好使用REGEX one

1) 使用类
toCharArray()
函数将字符串拆分为字符数组

2) 通过运行循环替换交替位置的新字符


3) 使用
新字符串(charArray)

将数组转换回字符串只需迭代该字符串并替换其他字符。您需要回答您的问题并包括您解决此问题的尝试。谢谢。你能详细解释一下这是怎么回事吗。我不理解语法中名为“正则表达式”的“(.”和$1表达式,它是非常强大的文本匹配/替换机制。看看这里。点(
)只是“匹配任何字符”的通配符
F.O
匹配
FOO
FAO
FBO
等<代码>。匹配2个字符的任意序列<代码>替换部分中的$1指搜索模式中第一个括号内的表达式,在本例中是第二个字符,在搜索模式中由第二个点表示。因此,我们正在将第二个字符从搜索模式“复制”到替换模式。我试图理解正则表达式,而困扰我的部分是$1和(.)表达式。当我写..(.)时,这意味着VAVA将是输出,因为它匹配字符串中的两个字符。类似地,如果我写。(.)它正在搜索一个字符并替换为va。。像瓦瓦。但是我不明白(.)和1美元的用途。你能解释一下这部分吗