如何在javascript中捕获所有大写的案例

时间:2016-12-25 10:59:35

标签: javascript

我有一个像“TransfCoolingFanG1”的字符串我希望输出:“TCFG1”。 我是如何为此目的构建一个javascript函数的?

5 个答案:

答案 0 :(得分:1)

使用String#replace方法并替换所有小写字母。



console.log(
  "TransfCoolingFanG1".replace(/[a-z]+/g, '')
)




更新:如果您要删除除大写字母或数字之外的所有字符,请使用带有正则表达式的negated character class



console.log(
  "TransfCoolingFanG1".replace(/[^A-Z\d]+/g, '')
)




答案 1 :(得分:1)

或者,另一种方法(替换所有EXCEPT大写字母和数字):

str="TransfCo^^^oli*****ngFanG1";
str=str.replace(/[^A-Z0-9]/g,'');
console.log(str);

答案 2 :(得分:1)

var str = "TransfCoolingFanG1";
var res = "";
var len = str.length;
for (var i = 0; i < len ; i++) 
    if (str[i] === str[i].toUpperCase()) 
      res = res + str[i];
window.alert(res);

答案 3 :(得分:1)

也许更多原生:

var yourString = "TransfCoolingFanG1";
var upString= "";
for (var i = 0; i < yourString.length;i++){
        if (isUpperCase(yourString.charAt(i)));{ 
            upString +=yourString.charAt(i);       
        }
 } 

window.alert(upString);

答案 4 :(得分:1)

EcmaScript 6方法

inputString => inputString.split('').filter(x => x === x.toUpperCase()).join('')

所以这个箭头函数会发生什么:

  1. 一旦我们有 inputString ,我们通过应用函数 split 并使用空字符串''separator
  2. 从中获取一个字符数组
  3. 一旦我们有了一系列字符,我们就想找到所有大写字母。
  4. 使用谓词参数应用 filter 函数,该参数测试数组的每个元素是否为大写。如果字符不等于它的大写变体,则谓词返回false并且过滤器从数组中删除元素。
  5. 最后一步是通过加入以空字符串''separator
  6. 从过滤后的字符数组中收集新字符串