Java StringBuffer replace()方法及示例

来源:这里教程网 时间:2026-02-17 21:13:40 作者:

Java StringBuffer replace()方法及示例

StringBuffer.replace()是一个内置的方法,用于用指定的字符串中的字符替换这个序列中的子串中的字符。这里只是简单地删除了子串中的字符,并在开头插入了其他字符。
语法

public StringBuffer replace(int first, int last, String st)

参数: 该方法接受三个参数。

first :这是一个整数类型的参数,指的是起始索引。last : 这是一个整数类型的参数,指的是结束索引。st : 这是一个字符串类型,指的是将替换先前内容的字符串。

返回值: 该方法在执行上述操作后返回该对象。

异常: 如果first是负数,大于length(),或者大于last,则出现StringIndexOutOfBoundsException。

示例
输入:
StringBuffer= “The first planet of solar system is merrhxy”
first = 39
last = 42
st = “cur”

输出:The first planet of solar system is mercury

下面的程序说明了java.lang.StringBuffer.replace()方法:
程序1

// Java program to illustrate the// java.lang.StringBuffer.replace() import java.lang.*; public class Geeks {     public static void main(String[] args)    {         StringBuffer sbf = new StringBuffer("Welcome to Geekshssgeeks");        System.out.println("string buffer = " + sbf);         // Replacing substring from index 15 to index 18        sbf.replace(15, 18, "for");         System.out.println("After replacing string buffer= " + sbf);    }}

输出

string buffer = Welcome to GeekshssgeeksAfter replacing string buffer= Welcome to Geekforsgeeks

程序2: 当负指数通过时。

// Java program to illustrate the// java.lang.StringBuffer.replace() import java.lang.*; public class Geeks {     public static void main(String[] args)    {         StringBuffer sbf = new StringBuffer("Welcome to Geekshssgeeks");        System.out.println("string buffer = " + sbf);         // Replacing substring from index -15 to index -18        sbf.replace(-15, -18, "for");         System.out.println("After replacing string buffer= " + sbf);    }}

输出

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -15at java.lang.AbstractStringBuilder.replace(AbstractStringBuilder.java:851)at java.lang.StringBuffer.replace(StringBuffer.java:452)at Geeks.main(Geeks.java:14)

程序3: 当传递的索引大于长度时

// Java program to illustrate the// java.lang.StringBuffer.replace() import java.lang.*; public class Geeks {     public static void main(String[] args)    {         StringBuffer sbf = new StringBuffer("Welcome to Geekshssgeeks");        System.out.println("string buffer = " + sbf);         // Replacing substring from index 215 to index 218        sbf.replace(215, 218, "for");         System.out.println("After replacing string buffer= " + sbf);    }}

输出

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: start > length()at java.lang.AbstractStringBuilder.replace(AbstractStringBuilder.java:853)at java.lang.StringBuffer.replace(StringBuffer.java:452)at Geeks.main(Geeks.java:14)

相关推荐