Java中删除字符串首字符
在Java中,由于字符串是不可变的,无法直接修改原字符串,但可以通过以下方法创建新字符串实现删除首字符:
方法一:使用 substring()
(推荐)
java
String original = "Hello"; String result = original.substring(1); // 从索引1开始截取到末尾 System.out.println(result); // 输出 "ello"
方法二:使用 StringBuilder
或 StringBuffer
java
String original = "Hello"; StringBuilder sb = new StringBuilder(original); sb.deleteCharAt(0); // 删除索引0的字符 String result = sb.toString(); System.out.println(result); // 输出 "ello"
方法三:使用正则表达式(适用复杂场景)
java
String original = "Hello"; String result = original.replaceFirst("^.", ""); // 替换首字符为空 System.out.println(result); // 输出 "ello"
注意事项:
空字符串检查:若字符串可能为空,需提前判断以避免异常:
java
String original = ""; String result = (original.length() > 0) ? original.substring(1) : "";
性能考量:
substring()
:最简洁高效,适用于大多场景。StringBuilder
:需额外创建对象,但适合频繁修改字符串的场景。正则表达式:开销较大,仅推荐复杂匹配场景。
示例代码(包含异常处理):
java
public class Main {public static void main(String[] args) {String str = "Test";if (str != null && !str.isEmpty()) {str = str.substring(1);System.out.println(str); // 输出 "est"} else {System.out.println("字符串为空或无效");}} }
根据需求选择合适的方法,通常直接使用 substring()
即可。