簡體   English   中英

Javascript:在一個字符串中,替換大寫字母和它后面的所有字母

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

我有一堆字符串, dateTable, lastName, redColor ,我想刪除大寫字母和之后的所有字母,例如,刪除 Table、Name 和 Color,只留下 date、last 和 red。 任何幫助表示贊賞!

遍歷字母並將它們與正則表達式匹配。 然后使用子字符串獲取從開始到第一個大寫字母索引的字符串。

 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

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

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

這是一種可以提醒您想要什么的方法 - 您可以從那里繼續檢查:

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/

只需替換變量 word 的字符串,您就會看到它適用於您想要的

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);

希望能幫助到你

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM