Python的strip函数用于从字符串的开头和结尾删除给定的字符.如何在javascript中创建类似的功能?
例:
str = "'^$ *# smart kitty & ''^$* '^"; newStr = str.strip(" '^$*#&"); console.log(newStr);
输出:
smart kitty
解决方法
一个简单但不是很有效的方法是查找字符并删除它们:
function strip(str,remove) { while (str.length > 0 && remove.indexOf(str.charAt(0)) != -1) { str = str.substr(1); } while (str.length > 0 && remove.indexOf(str.charAt(str.length - 1)) != -1) { str = str.substr(0,str.length - 1); } return str; }
更有效但不易使用的是正则表达式:
str = str.replace(/(^[ '\^\$\*#&]+)|([ '\^\$\*#&]+$)/g,'')
注意:我在正则表达式中转义了所有具有任何特殊含义的字符.你需要为某些角色做到这一点,但也许不是我在这里使用的所有角色,因为它们在集合中使用.这主要是指出一些角色确实需要逃脱.