JavaScript去除字符串末尾标点及删除末字符的多种实现

作者:闭包旅人

时间:2026-10-22

浏览:526

本文详细解析在JavaScript中去除字符串末尾标点符号及删除最后一个字符的几种常用方法。重点对比slice、substr和substring三个核心API的参数差异与行为特性,特别是负数索引的处理逻辑。同时涵盖C#风格字符串处理在JS中的等效实现思路,如利用正则表达式或特定方法模拟RTrim和TrimEnd功能,帮助开发者根据具体场景选择最优方案。

文章目录

需求:去除js字符串末尾的标点符号

原字符串:

Hello World!

目标字符串:

Hello World

一:slice

stringObject.slice(start,end)

start : 指定抽取片段的起始下标。若为负数,表示从字符串尾部开始计算位置,即-1代表最后一个字符

end:指定抽取片段的结束下标。若未指定,则提取从start到原字符串结尾的子串。若为负数,表示从字符串尾部开始计算位置

var str = 'Hello World!';
document.write(str.slice(0,str.length-1)); //输出 Hello World

二:substr

stringObject.substr(start,length)

start : 必需。指定抽取子串的起始下标,必须为数值。若为负数,表示从字符串尾部开始计算位置,即-1代表最后一个字符,-2代表倒数第二个字符

length : 可选。指定子串中的字符数,必须为数值。若省略该参数,则返回从stringObject起始位置到结尾的字串

var str = 'Hello World!';
document.write(str.substr(0,str.length-1)); //输出 Hello World

三、substring

stringObject.substring(start,stop)

与slice()和substr()方法不同,substring()不接受负的参数

start : 必需。一个非负整数,指定要提取的子串的第一个字符在stringObject中的位置

stop : 可选。一个非负整数,比要提取的子串的最后一个字符在stringObject中的位置多1

若省略该参数,则返回的子串会一直到字符串的结尾

var str = 'Hello World!';
document.write(str.substring(0,str.length)); //输出 Hello World

更多用法

<script type="text/javascript">

	// 将字符串作为变量
	var string = "abcdefghijklmn"; 
	a = string.substring(0, 4) 
	b = string.substring(1, 6) 
	c = string.substring(5) 
	d = string.substring(0) 

	// 输出新的字符串
	// 给定字符串的一部分
	document.write(a + "<br>"); 
	document.write(b + "<br>"); 
	document.write(c + "<br>"); 
	document.write(d + "<br>"); 					 
</script>

输出

abcd bcdef fghijklmn abcdefghijklmn

说明

索引始终以0开头。若索引取为负数,将被视为零;索引不能是小数,若为小数,将被转换为比其小的整数

下面看下JS 删除字符串最后一个字符的几种方法

字符串:string s = "1,2,3,4,5,"

1、用的最多的是Substring

s=s.Substring(0,s.Length-1)

2、用 RTrim

原来只用来删除最后的空格,未仔细查看其它用法,才发现可以直接trim掉一些字符

s=s.ToString().RTrim(',')

扩展 删除空格

function trim(str){ //删除左右两端的空格
  return str.replace(/(^\s*)|(\s*$)/g, "");
 }
 function ltrim(str){ //删除左边的空格
 return str.replace(/(^\s*)/g,"");
 }
 function rtrim(str){ //删除右边的空格
  return str.replace(/(\s*$)/g,"");
 }

3、用TrimEnd

此方法与RTrim类似,区别在于其传递的是一个字符数组,而RTrim可以是任何有效的字符串

s=s.TrimEnd(',')
//如果要删除"5,",则需要这么写
char[]MyChar={'5',','};
s=s.TrimEnd(MyChar);
//s="1,2,3,4"

类似函数:

TrimStart,LTrim等

还有一个TrimToSize对提高性能有微弱的好处....

string.TrimEnd().Remove(string.Length - 2, 1)
string.Remove()

总结

以上所述是小编给大家介绍的JS去掉字符串末尾的标点符号及删除最后一个字符的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对本站网站的支持!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章