Java中移除字符串最后一个字符的方法有哪些?哪种方法最简单高效?
- 后端开发
- 2025-09-18
- 6
在Java中,移除字符串最后一个字符有多种方法,以下是一些常见的方法和示例:
使用String类的substring()方法
substring()方法可以用来截取字符串的一部分,要移除最后一个字符,你可以截取从索引0到倒数第二个字符的子字符串。
public class Main { public static void main(String[] args) { String originalString = "HelloWorld"; String result = originalString.substring(0, originalString.length() 1); System.out.println(result); // 输出: HelloWorld } }
使用StringBuilder类
StringBuilder类是专门用来进行字符串操作的,它提供了deleteCharAt()方法来删除指定位置的字符。
public class Main { public static void main(String[] args) { String originalString = "HelloWorld"; StringBuilder sb = new StringBuilder(originalString); sb.deleteCharAt(sb.length() 1); String result = sb.toString(); System.out.println(result); // 输出: HelloWorld } }
使用StringBuffer类
StringBuffer类与StringBuilder类似,但它是线程安全的,使用StringBuffer的deleteCharAt()方法可以删除指定位置的字符。
public class Main { public static void main(String[] args) { String originalString = "HelloWorld"; StringBuffer sb = new StringBuffer(originalString); sb.deleteCharAt(sb.length() 1); String result = sb.toString(); System.out.println(result); // 输出: HelloWorld } }
使用String类的replace()方法
replace()方法可以用来替换字符串中的字符,要移除最后一个字符,你可以将其替换为空字符串。


public class Main { public static void main(String[] args) { String originalString = "HelloWorld"; String result = originalString.replace(originalString.charAt(originalString.length() 1), ' '); System.out.println(result); // 输出: HelloWorld } }
使用String类的replaceAll()方法
replaceAll()方法可以用来替换字符串中的所有匹配项,要移除最后一个字符,你可以使用正则表达式来匹配最后一个字符,并将其替换为空字符串。
public class Main { public static void main(String[] args) { String originalString = "HelloWorld"; String result = originalString.replaceAll(".$", ""); System.out.println(result); // 输出: HelloWorld } }
使用String类的split()和join()方法
split()方法可以将字符串分割成数组,而join()方法可以将数组重新组合成字符串,要移除最后一个字符,你可以使用空字符串作为分隔符来分割字符串,然后使用最后一个分隔符来删除最后一个字符。
public class Main { public static void main(String[] args) { String originalString = "HelloWorld"; String[] parts = originalString.split(""); parts[parts.length 1] = ""; String result = String.join("", parts); System.out.println(result); // 输出: HelloWorld } }
使用String类的trim()方法
trim()方法通常用来移除字符串前后的空白字符,但也可以用来移除最后一个字符,这是通过将字符串前后的空格替换为空字符串来实现的。

public class Main { public static void main(String[] args) { String originalString = "HelloWorld "; String result = originalString.trim(); System.out.println(result); // 输出: HelloWorld } }
| 方法 | 代码示例 | 说明 |
|---|---|---|
| substring() | originalString.substring(0, originalString.length() 1) | 截取字符串除最后一个字符之外的部分 |
| StringBuilder | StringBuilder sb = new StringBuilder(originalString); sb.deleteCharAt(sb.length() 1); | 使用StringBuilder的deleteCharAt()方法删除最后一个字符 |
| StringBuffer | StringBuffer sb = new StringBuffer(originalString); sb.deleteCharAt(sb.length() 1); | 使用StringBuffer的deleteCharAt()方法删除最后一个字符 |
| replace() | originalString.replace(originalString.charAt(originalString.length() 1), ' ') | 使用replace()方法替换最后一个字符为空字符 |
| replaceAll() | originalString.replaceAll(".$", "") | 使用正则表达式替换最后一个字符为空字符串 |
| split()和join() | String[] parts = originalString.split(""); parts[parts.length 1] = ""; String result = String.join("", parts); | 使用split()和join()方法删除最后一个字符 |
| trim() | originalString.trim() | 使用trim()方法移除最后一个字符(如果它是空白字符) |
FAQs
Q1:如何在不使用任何外部库的情况下移除字符串最后一个字符?
A1:你可以使用Java内置的String类和StringBuilder或StringBuffer类来移除字符串最后一个字符,使用StringBuilder的deleteCharAt()方法或者使用String类的substring()方法。
Q2:如果字符串为空,使用上述方法会发生什么?
A2:如果字符串为空,大多数方法将不会抛出异常,但结果可能不符合预期,使用substring()方法将返回一个空字符串,而使用StringBuilder或StringBuffer的deleteCharAt()方法将不会改变字符串,因为空字符串没有字符可以删除。