我能够仅将字符串中的字母成功作为目标,但是我无法将仅字母转换为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/