如何在 Java 中替换 String 和 StringBuffer 的特定部分?


java.lang 包中的String类表示一组字符。Java 程序中的所有字符串字面量,例如“abc”,都作为此类的实例实现。

示例

 在线演示

public class StringExample {
   public static void main(String[] args) {
      String str = new String("Hello how are you");
      System.out.println("Contents of the String: "+str);
   }
}

输出

Hello how are you

String 对象是不可变的,一旦创建 String 对象,就无法更改其值,如果尝试这样做,则不会更改值,而是会创建一个具有所需值的新对象,并且引用会转移到新创建的对象,留下先前未使用的对象。

当需要对 String 进行大量修改时,使用StringBuffer(和 StringBuilder)类。

与 String 不同,StringBuffer 类型的对象可以反复修改,而不会留下大量新的未使用的对象。它是一个线程安全的、可变的字符序列。

示例

 在线演示

public class StringBufferExample {
   public static void main(String[] args) {
      StringBuffer buffer = new StringBuffer();
      buffer.append("Hello ");
      buffer.append("how ");
      buffer.append("are ");
      buffer.append("you");
      System.out.println("Contents of the string buffer: "+buffer);
   }
}

输出

Contents of the string buffer: Hello how are you

替换 String 的特定部分

String 类的 replace() 方法接受两个 String 值 -

  • 一个表示要替换的 String 部分(子字符串)。

  • 另一个表示需要替换指定子字符串的 String。

使用此方法,您可以在 Java 中替换 String 的一部分。

示例

 在线演示

public class StringReplace {
   public static void main(String[] args) {
      String str = new String("Hello how are you, welcome to TutorialsPoint");
      System.out.println("Contents of the String: "+str);
      str = str.replace("welcome to TutorialsPoint", "where do you live");
      System.out.println("Contents of the String after replacement: "+str);
   }
}

输出

Contents of the String: Hello how are you, welcome to TutorialsPoint
Contents of the String after replacement: Hello how are you, where do you live

替换 StringBuffer 的特定部分

类似地,StringBuffer 类的 replace() 方法接受 -

  • 两个整数,分别表示要替换的子字符串的起始和结束位置。

  • 一个 String 值,用它来替换上面指定的子字符串。

使用此方法,您可以用所需的 String 替换 StringBuffer 的子字符串。

示例

 在线演示

public class StringBufferReplace {
   public static void main(String[] args) {
      StringBuffer buffer = new StringBuffer();
      buffer.append("Hello ");
      buffer.append("how ");
      buffer.append("are ");
      buffer.append("you ");
      buffer.append("welcome to TutorialsPoint");
      System.out.println("Contents of the string buffer: "+buffer);
      buffer.replace(18, buffer.length(), "where do you live");
      System.out.println("Contents of the string buffer after replacement: "+buffer);
   }
}

输出

Contents of the string buffer: Hello how are you welcome to TutorialsPoint
Contents of the string buffer after replacement: Hello how are you where do you live

更新于: 2019年9月10日

237 次查看

开启你的职业生涯

通过完成课程获得认证

开始学习
广告