将上部字符转换为下部和下部到上部(反之亦然)

时间:2015-11-22 03:36:31

标签: javascript regex replace regexp-replace

我需要在一些字符串中将所有较低字符转换为较高字符,并将所有较低字符转换为较低字

例如

var testString = 'heLLoWorld';

应该是

'HEllOwORLD' 
转换后

实现这一点的最常用方法是什么,而不保存临时字符串。

如果使用正则表达式实现这样的结果,我会好得多。

感谢。

4 个答案:

答案 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)
}

在这里工作了http://jsfiddle.net/39khs/1413/

答案 3 :(得分:0)

testString.split('').map(function(c) {
  var f = 'toUpperCase';
  if(c === c.toUpperCase()) {f = 'toLowerCase';}
  return c[f]();
}).join('');