我给自己写了一个函数,将字符串转换成缩写,目前它相当长,并且区分大小写。缩短的JavaScript功能
我需要一种方法缩短它,所以它的工作时间100%。目前,如果其中一个拆分单词有大写字母,如果一个单词以拆分单词结尾,就会出现问题。
我拆分的单词基本上是我删除的单词(因为大多数公司并不包括它们)。它们包括:
- 和
- 的
- 为
- 到
此外,我除去他们的方法是使用分割和结合(str.split('and ').join('')
)的对我来说似乎并不是最简单的方法。
除了这些问题,它工作正常。任何人都可以帮我缩小功能并解决问题吗?谢谢。
功能:
String.prototype.toAbbrev = function() {
var s = [];
var a = this.split('and ').join('').split('of ').join('').split('the').join('').split('for ').join('').split('to ').join('').split(' ');
for (var i = 1; i < a.length + 1; i++) {
s.push(a[i - 1].charAt(0).toUpperCase());
}
return s.join('.');
}
输出上测试公司
The National Aeronautics and Space Administration -> N.A.S.A The National Roads and Motorists' Association -> N.R.M.A Royal Society for the Prevention of Cruelty to Animals -> R.S.P.C.A
如何使用正则表达式替换?你可以使用'i'修饰符使其不区分大小写。 – Barmar
你能告诉我一个例子吗?我从来没有使用过正则表达式。 @thefourtheye感谢您的编辑,忘记之前我发布。 – Spedwards
不要为此扩展字符串原型。在javascript中扩展原生原型通常非常令人不悦。只要有一个正常的功能 - 没有错。 –