- Java.lang 包类
- Java.lang - 首页
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang 包其他
- Java.lang - 接口
- Java.lang - 错误
- Java.lang - 异常
- Java.lang 包实用资源
- Java.lang - 实用资源
- Java.lang - 讨论
Java - String replace() 方法
Java String replace() 方法用于替换字符串对象中单个字符或子字符串为给定值。
此方法在当前字符串中搜索给定的字符(或子字符串),将所有出现的字符替换为给定的值,并返回结果字符串。此替换从字符串的开头到结尾执行。替换意味着提供合适的替代方案、等价物或将其恢复到原始状态。
此方法有两个多态变体。下面显示了这两个变体的语法。此方法的字符变体将字符串中旧字符的每个实例替换为新字符。类似地,字符序列变体替换给定的子字符串。
例如,在字符串“ccc”中将“cc”替换为“b”将得到“bc”而不是“cb”。
语法
以下是Java String replace()方法的语法:
public String replace(CharSequence target, CharSequence replacement) or, public String replace(char oldChar, char newChar)
参数
target - 要替换的 char 值序列。 // 第一个语法
replacement - 替换的 char 值序列。 // 第一个语法
oldChar - 旧字符。 // 第二个语法
newChar - 新字符。 // 第二个语法
返回值
public String replace(CharSequence target, CharSequence replacement) 方法返回结果字符串。 // 第一个语法
public String replace(char oldChar, char newChar) 方法返回一个从该字符串派生的字符串,方法是用 newChar 替换 oldChar 的每次出现。 // 第二个语法
使用 CharSequence 在 String 中替换 CharSequence 的示例
在下面给出的示例中,初始化了一个 String 对象“str”。然后,初始化两个 charSequence,其中上面创建的字符串中的第一个 charSequence 被第二个 charSequence 替换:
package com.tutorialspoint; public class StringDemo { public static void main(String[] args) { String str = "Tutorialspoint"; System.out.println("string = " + str); CharSequence s1 = "rialspoint"; CharSequence s2 = "rix"; // replace sequence s1 with s2 String replaceStr = str.replace(s1, s2); // prints the string after replacement System.out.println("new string = " + replaceStr); } }
输出
如果编译并运行上述程序,它将产生以下结果:
string = Tutorialspoint new string = Tutorix
使用 CharSequence 替换 CharSequence 的示例
以下示例演示了 Java String replace() 方法的使用,通过该方法,将旧字符序列“how”的所有出现替换为新字符序列“why”:
package com.tutorialspoint; public class StringDemo { public static void main(String[] args) { String str = "Hello how are how you"; System.out.println("string = " + str); CharSequence s1 = "how"; CharSequence s2 = "why"; // replace sequence s1 with s2 String replaceStr = str.replace(s1, s2); // prints the string after replacement System.out.println("new string = " + replaceStr); } }
输出
如果编译并运行上面的程序,输出将显示如下:
string = Hello how are how you new string = Hello why are why you
使用 String 替换 String 的示例
在下面给出的代码中,使用 replace() 方法将字符 't' 的所有出现替换为新字符 'f':
package com.tutorialspoint; public class StringDemo { public static void main(String[] args) { String str = new String("Welcome to tutorials point training"); System.out.println("The given string is: " + str); String newString = new String(); newString = str.replace('t', 'f'); System.out.println("The new string now is: " + newString); } }
输出
执行上述程序后,输出如下:
The given string is: Welcome to tutorials point training The new string now is: Welcome fo fuforials poinf fraining
使用 String 替换 String 的示例
在下面给出的代码中,使用 replace() 方法将字符串 'time' 的所有出现替换为新字符串 'day':
package com.tutorialspoint; public class StringDemo { public static void main(String[] args) { String str = new String("Next time there won't be a next time."); System.out.println("The string is: " + str); // Replacing the old string with new string String newString = new String(); newString = str.replace("time", "day"); System.out.println("The replaced string is: " + newString); } }
输出
上述程序的输出如下:
The string is: Next time there won't be a next time. The replaced string is: Next day there won't be a next day.
检查替换空字符串时的异常示例
当替换或目标为 null 时,replace() 方法将抛出 NullPointerException。以下示例支持这一点:
public class StringDemo { public static void main(String argvs[]) { String s = "Next time there won't be a next time."; int size = s.length(); System.out.println("The string is: " + s); String newString = null; s = s.replace(newString, "time "); System.out.println("The replaced string is: " + s); } }
NullPointerException
执行上述代码时,我们得到以下输出
The string is: Next time there won't be a next time. Exception in thread "main" java.lang.NullPointerException: Cannot invoke "java.lang.CharSequence.toString()" because "target" is null at java.base/java.lang.String.replace(String.java:2954) at StringDemo.main(StringDemo.java:7)