将上字符转换为下字符,将下字符转换为上字符(反之亦然)
Convert upper chars to lower and lower to upper (vice versa)
我需要将某些字符串中的所有小写字母转换为大写字母,并将所有大写字母转换为小写字母。
例如
var testString = 'heLLoWorld';
应该是
'HEllOwORLD'
转换后。
在不保存临时字符串的情况下,最优雅的实现方式是什么。
如果用正则表达式达到这样的效果就更好了
谢谢。
这是一个想法:
function flipCase(str) {
return str.split('').reduce(function(str, char) {
return str + (char.toLowerCase() === char
? char.toUpperCase()
: char.toLowerCase());
}, '');
}
testString.split('').map(function(c) {
var f = 'toUpperCase';
if(c === c.toUpperCase()) {f = 'toLowerCase';}
return c[f]();
}).join('');
这是一个正则表达式的想法
var testString = 'heLLoWorld';
var newString = '';
for(var i =0; i< testString.length; i++){
if(/^[A-Z]/.test(testString[i])){
newString+= testString[i].toLowerCase();
} else {
newString+= testString[i].toUpperCase();
}
}
这是一个正则表达式的解决方案,它利用了大写字母和小写字母相差十进制 32 对应位这一事实:
var testString = 'heLLo World 123',
output;
output= testString.replace(/([a-zA-Z])/g, function(a) {
return String.fromCharCode(a.charCodeAt() ^ 32);
})
document.body.innerHTML= output;
我需要将某些字符串中的所有小写字母转换为大写字母,并将所有大写字母转换为小写字母。
例如
var testString = 'heLLoWorld';
应该是
'HEllOwORLD'
转换后。
在不保存临时字符串的情况下,最优雅的实现方式是什么。
如果用正则表达式达到这样的效果就更好了
谢谢。
这是一个想法:
function flipCase(str) {
return str.split('').reduce(function(str, char) {
return str + (char.toLowerCase() === char
? char.toUpperCase()
: char.toLowerCase());
}, '');
}
testString.split('').map(function(c) {
var f = 'toUpperCase';
if(c === c.toUpperCase()) {f = 'toLowerCase';}
return c[f]();
}).join('');
这是一个正则表达式的想法
var testString = 'heLLoWorld';
var newString = '';
for(var i =0; i< testString.length; i++){
if(/^[A-Z]/.test(testString[i])){
newString+= testString[i].toLowerCase();
} else {
newString+= testString[i].toUpperCase();
}
}
这是一个正则表达式的解决方案,它利用了大写字母和小写字母相差十进制 32 对应位这一事实:
var testString = 'heLLo World 123',
output;
output= testString.replace(/([a-zA-Z])/g, function(a) {
return String.fromCharCode(a.charCodeAt() ^ 32);
})
document.body.innerHTML= output;