获取字符串最后一位

本文详细介绍了在JavaScript中获取字符串最后一个字符的四种常见方法:charAt、substr、split和正则表达式。每个方法的代码示例和注意事项都有所说明,其中着重提醒了substr在某些版本的IE浏览器中的bug及其修正情况。

方法一:运用String对象下的charAt方法

charAt() 方法可返回指定位置的字符。

代码如下
str.charAt(str.length – 1)

请注意,JavaScript 并没有一种有别于字符串类型的字符数据类型,所以返回的字符是长度为 1 的字符串


方法二:运用String对象下的substr方法

substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。

代码如下
str.substr(str.length-1,1)

重要事项:ECMAscript 没有对该方法进行标准化,因此反对使用它。

重要事项:在 IE 4 中,参数 start 的值无效。在这个 BUG 中,start 规定的是第 0 个字符的位置。(www.111cn.net)在之后的版本中,此 BUG 已被修正。

方法三:运用String对象下的split方法

split() 方法用于把一个字符串分割成字符串数组。

代码如下 
var str = “123456″;
spstr = str.split(“”);
spstr[spstr.length-1];

方法四:正则搞定

代码如下 
<script type="text/javascript">
//<![CDATA[
var s = "nasofj;n234n41;v";
alert("String: "+s+"nn"+"LastOne: "+s.replace(/^(.*[n])*.*(.|n)$/g, "$2"));
//]]>
</script>

<think>我们参考引用资料,特别是引用[2]和引用[3]中提供了多种方法。 根据用户问题,用户想用JavaScript获取字符串最后一位字符。 我们可以提供多种方法,并给出示例代码。 方法1:使用charAt方法 let lastChar = str.charAt(str.length - 1); 方法2:使用数组索引(将字符串转为数组) let lastChar = str.split('')[str.length - 1]; 方法3:使用substring方法 let lastChar = str.substring(str.length - 1); 方法4:使用slice方法(因为slice支持负数索引,所以也可以) let lastChar = str.slice(-1); 方法5:使用数组解构(ES6) let [lastChar] = [...str].reverse(); // 但这样会反转整个数组,对于长字符串效率不高,不推荐,仅作为思路 注意:substr方法已经被标记为废弃,所以不推荐使用。 根据引用[3]中的说明,我们推荐使用charAt、slice或substring方法。 下面我们给出具体示例:</think>在 JavaScript获取字符串最后一位字符有以下几种常用方法: ### 方法 1:使用 `charAt()`(推荐) ```javascript const str = "Hello World"; const lastChar = str.charAt(str.length - 1); console.log(lastChar); // "d" ``` `charAt(index)` 返回指定位置的字符,索引从 0 开始。`str.length - 1` 获取最后一个字符的索引[^2]。 ### 方法 2:使用数组下标访问 ```javascript const str = "JavaScript"; const lastChar = str[str.length - 1]; console.log(lastChar); // "t" ``` 字符串可通过数组下标方式直接访问字符,`str.length - 1` 表示最后一个字符的索引[^2]。 ### 方法 3:使用 `slice()`(推荐) ```javascript const str = "Example"; const lastChar = str.slice(-1); // 负数索引表示从末尾开始 console.log(lastChar); // "e" ``` `slice(-1)` 从字符串末尾截取 1 个字符,负数索引表示从右向左计数[^3]。 ### 方法 4:使用 `substring()` ```javascript const str = "Frontend"; const lastChar = str.substring(str.length - 1); console.log(lastChar); // "d" ``` `substring(startIndex)` 从指定索引开始截取字符串末尾[^3]。 > **注意事项**: > 1. 空字符串检查:`if (str.length === 0) return ""` > 2. 避免使用已废弃的 `substr()` 方法 > 3. 特殊字符处理:这些方法均支持 Unicode 字符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值