我能够仅将字符串中的字母成功作为目标,但是我无法将仅字母转换为unicode值。请帮忙。

function LetterChanges(str) {

for(var i = 0; i < str.length; i++){
 if(str.charCodeAt(i) > 64 && str.charCodeAt(i) < 127){
  str.repalce(i, charCodeAt(i));
  }
 }
console.log(str)
}

LetterChanges("hello*3");

最佳答案

function LetterChanges(str) {
  var newStr = ""; // the result string
  for (var i = 0; i < str.length; i++) {
    var c = str.charCodeAt(i);
    if (c > 64 && c < 127) {
      newStr += String.fromCharCode(c + 1);
    }
    else {
      newStr += String.fromCharCode(c);
    }
  }
  return newStr;
}

console.log(LetterChanges("hello*3"));





如果您只想替换字母字符a-z,则可以使用如下正则表达式进行替换:



function LetterChanges(str) {
  return str.replace(/[a-z]/gi, function(m) {
    return String.fromCharCode(
      m.charCodeAt(0) + 1
    );
  });
}

console.log(LetterChanges("Hello*3"));

关于javascript - Javascript:如何选择性地将字符串转换为各自的unicode值,加1,然后再转换回字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42331718/

10-10 19:08