如何获取字符串除首尾字符外的内容及生成移除首尾字符的副本?
移除字符串首尾字符的方法
要获取字符串中除第一个和最后一个字符外的内容,并生成对应的副本,核心思路是通过截取子串/切片的方式跳过首尾字符,原字符串不会被修改。以下是几种主流编程语言的实现方式:
Python
直接使用字符串切片语法[1:-1],从索引1(第二个字符)开始,到索引-1(倒数第一个字符的前一位)结束:
original = "$hello$" trimmed = original[1:-1] print(trimmed) # 输出: hello
- 若原字符串长度≤2,切片会返回空字符串(比如
"ab"处理后得到"")。
JavaScript
使用slice()方法,参数传入起始索引1和结束索引-1:
const original = "$hello$"; const trimmed = original.slice(1, -1); console.log(trimmed); // 输出: hello
- 长度≤2时同样返回空字符串,不会报错。
Java
使用substring()方法,起始索引为1,结束索引为原字符串长度减1(因为substring的结束索引不包含在内):
String original = "$hello$"; String trimmed = original.substring(1, original.length() - 1); System.out.println(trimmed); // 输出: hello
- 注意:如果原字符串长度≤2,直接调用
substring会抛出StringIndexOutOfBoundsException,建议先做长度判断:
String original = "$hello$"; String trimmed = ""; if (original.length() > 2) { trimmed = original.substring(1, original.length() - 1); } System.out.println(trimmed);
C#
使用Substring()方法,第一个参数是起始索引1,第二个参数是要截取的字符长度(总长度减去2,去掉首尾各一个字符):
string original = "$hello$"; string trimmed = original.Substring(1, original.Length - 2); Console.WriteLine(trimmed); // 输出: hello
- 若原字符串长度≤2,需先判断长度避免报错。
内容的提问来源于stack exchange,提问作者Toothpick Anemone
相关产品推荐
相关产品推荐

