如何用字符串替换字符串

时间:2017-02-02 05:45:42

标签: java string

我需要用字符串表达式

替换每个单词中的每个第二个字母
public static void main(String[] args) {

     StringBuffer stbf=new StringBuffer("la la la");
     int k=1;
     String a= "wkj" ;
     String s1 = null;
     for(int i=0;i<3;i++){
         stbf.insert(1, a);
     }
     System.out.println(stbf);

因此我想看lwkj lwkj lwkj

3 个答案:

答案 0 :(得分:4)

String input = "la la la";
String replacement = "wkj";
String output = input.replaceAll("\\b(\\w)\\w", "$1"+replacement);
System.out.println("input: " + input);
System.out.println("output: " + output);

正则表达式\b(\w)\w将匹配序列中每个单词的前两个字符,并且替换使用附加到替换的第一个(捕获的)字符。

<强>输出:

la la la
lwkj lwkj lwkj

答案 1 :(得分:1)

没有提供问题的完整解决方案,这里有一些提示:

  1. 您应该将输入字符串(例如“la la la”)拆分为不同的单词。使用例如String.split(“”)。

  2. 然后您可以处理每个单词,保留第一个字符,插入替换字符串(示例为“wkj”)并附加第三个字符和任何其他字符。为此,您可以使用String.substring(0,1)来获取第一个字符以及从第三个字符位置开始的所有字符(String.substring(2))。看看String api。

  3. https://docs.oracle.com/javase/7/docs/api/java/lang/String.html

    希望有所帮助。

答案 2 :(得分:0)

String str = "la la la";
String answer = str.replaceAll("a", "wkj");
System.out.println("Replace String Is: " + answer);

str.replaceAll(“a”,“wkj”)