我需要在一些字符串中将所有较低字符转换为较高字符,并将所有较低字符转换为较低字
例如
var testString = 'heLLoWorld';
应该是
'HEllOwORLD'
转换后
实现这一点的最常用方法是什么,而不保存临时字符串。
如果使用正则表达式实现这样的结果,我会好得多。
感谢。
答案 0 :(得分:3)
这是一个正则表达式解决方案,它利用了大写和小写字母与小数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;

答案 1 :(得分:2)
这是一个想法:
function flipCase(str) {
return str.split('').reduce(function(str, char) {
return str + (char.toLowerCase() === char
? char.toUpperCase()
: char.toLowerCase());
}, '');
}
答案 2 :(得分:1)
以下是RegEx的概念
package main
type t struct {
int
}
var dilbert = &t{3}
func newT() *t { return dilbert }
//func newT() t { return t{} }
func main() {
println(dilbert.int)
newT().int = 0
println(dilbert.int)
}
答案 3 :(得分:0)
testString.split('').map(function(c) {
var f = 'toUpperCase';
if(c === c.toUpperCase()) {f = 'toLowerCase';}
return c[f]();
}).join('');