欢迎各位兄弟 发布技术文章
这里的技术是共享的
替换掉最后一个字符串。
思路:用lastIndexOf 获取出字符串的下标,然后再截取或是替换都可以实现。
1 2 3 4 5 6 | 简单的小例子: var a = 'ababababababa' ; var b = a.substring(a.lastIndexOf( 'ba' )); //这样就获取到了最后的'ba' var c = a.substring(0,a.lastIndexOf( 'ba' )); //这样就获取到了前面的字符串。 就可以随意的字符串拼写了。 a = c + '11111' ; //这样a就变成了 abababababa11111 |
JavaScript中判断字符串是否以指定字符串开始或结尾
有大用
这样书写的原因:我们都知道Java中的String提供了用于判断是否以指定字符串开头、结尾的方法。分别是startWith和endWith,但是最近开发过程中我也遇到了类似的问题只不过是在javascript中,需要判断一个链接地址是否以http://开头或判断一个地址是否以"/"开头。
但是通过查看API,原生的javascript的String并没有提供现成的办法来解决此类需求。因此我就开始想办法如何能够正确的判断某个字符串是否以指定的字符串开始或者结尾。
后来终于找到了好的办法,特记录如下。
我会首先将代码和测试用例贴上,然后再具体解释为什么要这么写
//判断当前字符串是否以str开始 先判断是否存在function是避免和js原生方法冲突,自定义方法的效率不如原生的高 if (typeof String.prototype.startsWith != 'function'){ String.prototype.startsWith = function (str){ return this.slice(0, str.length) == str; }; } //判断当前字符串是否以str结束 if (typeof String.prototype.endsWith != 'function') { String.prototype.endsWith = function (str){ return this.slice(-str.length) == str; }; } //测试程序 var sCompareStr = "abcdefg123";//比较字符串 var sBeCompareStr = "fg";//被比较字符串 if(sCompareStr.endsWith(sBeCompareStr)){//这里可以替换为startsWith alert(sCompareStr+" 是以:"+sBeCompareStr+" 结束"); }else{ alert(sCompareStr+" 不是以:"+sBeCompareStr+" 结束"); }
这样书写的原因:
最后注明一下版权,本文由yutiansanshou原创发表,你可以任意转载,但必需在明显位置注明作者和出处,而且不能用于任何商业用途