如何将字符串中的最后两个字符替换为Javascript中的其他字符

时间:2013-12-28 22:25:47

标签: javascript

我有一个正好是三个数字的字符串,例如; 999.我想用九十九个单词替换最后两个9。我看了很多周围的搜索,但由于某种原因,我无法得到任何工作。我也想知道如何用词来替换前9个 “九百”,但我不想同时完成它们。如果您能够解释它是如何工作的,那将会很有帮助,因为我对编程相对较新。

由于

4 个答案:

答案 0 :(得分:0)

yourString = "999";

for (var x = 3; x > 1; x--) {
    yourString[x] = "nine hundred";
    x -= 1;
}

答案 1 :(得分:0)

您可以使用正则表达式轻松替换字符串末尾的最后两个数字:

var value = "999";

value = value.replace(/\d{2}$/, "ninety-nine"); // 9ninety-nine

请注意,这实际上并不知道“99”是“九十九”。它也不知道“39”是“三十九”。 That task要比仅仅替换部分字符串要困难得多。

希望这有帮助。

答案 2 :(得分:0)

我想你需要将所有数字转换成英文单词。不只是999. 999只是一个例子。

您可以使用多个switch执行此操作。

类似的东西:

您可以看到demo

var str="999";
var result="";

var first =str.charAt(0);//var first="9" in your example
switch (first){
case "9": 
result=result+"nine hundred "
break;
case "8": 
result=result+"eight hundred "
break;
case "7": 
result=result+"seven hundred "
break;
case "6": 
result=result+"six hundred "
break;
case "5": 
result=result+"five hundred "
break;
case "4": 
result=result+"four hundred "
break;
case "3": 
result=result+"three hundred "
break;
case "2": 
result=result+"two hundred "
break;
case "1": 
result=result+"one hundred "
break;        
default : result=result+"NaN"
}

var second =str.charAt(1);//var second="9" in your example
switch (second){
case "9": 
result=result+"ninety "
break;
case "8": 
result=result+"eighty "
break;
case "7": 
result=result+"seventy "
break;
case "6": 
result=result+"sixty "
break;
case "5": 
result=result+"fifty "
break;
case "4": 
result=result+"fourty "
break;
case "3": 
result=result+"thirty "
break;
case "2": 
result=result+"twenty "
break;
case "1": 
result=result+"ten "
break;        
default : result=result+"NaN"
}

var third =str.charAt(2); //var third="9" in your example
switch (third){
case "9": 
result=result+"nine"
break;
case "8": 
result=result+"eight"
break;
case "7": 
result=result+"seven"
break;
case "6": 
result=result+"six"
break;
case "5": 
result=result+"five"
break;
case "4": 
result=result+"four"
break;
case "3": 
result=result+"three"
break;
case "2": 
result=result+"two"
break;
case "1": 
result=result+"one"
break;        
default : result=result+"NaN"
}
alert(result);

答案 3 :(得分:0)

var numericValue = 972;

首先将数字转换为字符串:

var stringValue=numericValue+'';

然后您可以使用子字符串来查找单个值,例如:

var hundreds = stringValue.substr(0,1);

第一个参数(0)是起始位置,第二个(1)是您要搜索的字符串中的字符数。

然后你可以从一个对象中选择你正在寻找的字符串。:

var hundredsObj = {
'9':'nine hundred',
'8':'eight hundred',
'7':'seven hundred',
'6':'six hundred.....'}

var hundredsStr = hundredsObj.hundreds