Javascript:在字符串中,替换大写字母及其后面的所有字母

Javascript: in a string, replace the capital letter and all letters following it

本文关键字:字符串 大写字母 替换 Javascript      更新时间:2023-09-26

我有一堆字符串,dateTable, lastName, redColor,我想删除大写字母和之后的所有字母,例如,删除Table、Name和Color,只留下date、last和red。如有帮助,我们将不胜感激!

使用.replace():可以轻松完成

"dateTable".replace(/[A-Z].*/, "")

遍历字母并将它们与正则表达式匹配。然后使用子字符串获取第一个大写字母从开始到索引的字符串。

 var inputString = "What have YOU tried?";
var positions = [];
for(var i=0; i<inputString.length; i++){
if(inputString[i].match(/[A-Z]/) != null){
    positions.push(i);
break;
}
}
alert(positions);

var res = str.substring(1, postions[0]);
res should be the intended string

这里有一个方法可以提醒您想要什么-您可以从那里继续检查:

function checkWord(word) {
  var foundFirst = false;
  var lengthToChop = 0;
  for (var i in word) {
     foundFirst = /^[A-Z]/.test( word[i])
     if (foundFirst){
        lengthToChop = i;
      break;
     }
  }
  alert(word.substring(0, lengthToChop));
}

在第一个大写字母处中断的简单快速非正则表达式循环。

function strip(str) {
  var i = -1, out = [], len = str.length;
  while (++i < len) {
    if (str.charCodeAt(i) >= 65 && str.charCodeAt(i) <= 90) break;
    out.push(str[i]);
  }
  return out.join('');
}

演示

试试这个代码。没有正则表达式。。。它应该工作并且非常简单。这是小提琴。。。https://fiddle.jshell.net/4ku3srjw/2/

只需替换变量单词的字符串,您就会看到它适用于您想要的

var word = "lastName";
for (var i = 0; i < word.length; i++) {
  if (word[i] === word[i].toUpperCase()) {
    var choppedWord = word.substr(0, i)
  }   
}
alert(choppedWord);

希望它能帮助