函数检查字符串并更改它们

时间:2011-05-23 22:28:53

标签: javascript

我正在寻找一个循环,它将使用

检查大写字母的字符串
function isUpperCase(aCharacter)
{
    return (aCharacter >= 'A') && (aCharacter <= 'Z');
}

当遇到大写字母时,它将执行anoter功能,让我们称之为'dummyFunction',这将把所有字母改为与大写字母相同的字母,但只会到达下一个大写字母,依此类推。我希望你能理解我的意思)例如,如果我有一个字符串'AbcdeFghijKlmno',程序的结果将是:'AAAAAFFFFFKKKKK'。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

据推测,结果应该复制字符,直到达到第一个资本,所以:

var wierdStringThing = (function() {
  var re = /[A-Z]/;
  return function (s) {
    s = s.split('');
    var result = [];
    var t = s[0];
    var c;

    for (var i=0, iLen=s.length; i<iLen; i++) {
      c = s[i];
      if (re.test(c)) {
        t = c;
        result.push(c);
      } else {
        // Copies characters until first capital,
        // then repeats capital until next
        result.push(re.test(t)? t : c);
      }
    }
    return result.join('');
  }
}());

var x = 'adbCasdfHasdV'
alert(x + '\n' + wierdStringThing(x));
/*
adbCasdfHasdV
adbCCCCCHHHHV
*/