我正在寻找一个循环,它将使用
检查大写字母的字符串function isUpperCase(aCharacter)
{
return (aCharacter >= 'A') && (aCharacter <= 'Z');
}
当遇到大写字母时,它将执行anoter功能,让我们称之为'dummyFunction'
,这将把所有字母改为与大写字母相同的字母,但只会到达下一个大写字母,依此类推。我希望你能理解我的意思)例如,如果我有一个字符串'AbcdeFghijKlmno',程序的结果将是:'AAAAAFFFFFKKKKK'。有什么想法吗?
答案 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
*/