我知道
parseInt(myString, 10) // "Never forget the radix"
如果字符串中的第一个字符是数字,将返回一个数字,但如果我有一个像“column5”这样的字符串并希望将其增加到下一个字符串(“column6”),我怎么能在JavaScript中执行此操作? / p>
字符串末尾的位数是可变的。
答案 0 :(得分:19)
parseInt("column5".slice(-1), 10);
您可以分别使用-1或-2表示一到两位数字。
如果要指定任何长度,可以使用以下命令返回数字:
parseInt("column6445".match(/(\d+)$/)[0], 10);
上述内容适用于任何长度的数字,只要字符串以一个或多个数字结尾
即可答案 1 :(得分:3)
试试这个:
var match = myString.match(/^([a-zA-Z]+)([0-9]+)$/);
if ( match ) {
return match[1] + (parseInt(match[2]) + 1, 10);
}
这会将text10
之类的字符串转换为text11
,TxT1
转换为Txt2
等。最后使用长数字。
为parseInt调用添加了基数,因为默认的parseInt值太magic
不可信。
详情请见此处:
http://www.w3schools.com/jsref/jsref_parseInt.asp
基本上它会将text010
之类的内容转换为text9
,但这并不好;)。
答案 2 :(得分:2)
从文本中拆分数字,解析它,递增它,然后重新连接它。如果前面的字符串是众所周知的,例如“column”,你可以这样做:
var precedingString = myString.substr(0, 6); // 6 is length of "column"
var numericString = myString.substr(7);
var number = parseInt(numericString);
number++;
return precedingString + number;
答案 3 :(得分:1)
var my_car="Ferrari";
var the_length=my_car.length;
var last_char=my_car.charAt(the_length-1);
alert('The last character is '+last_char+'.');
归功于http://www.pageresource.com/jscript/jstring1.htm
然后只需增加last_char
答案 4 :(得分:0)
使用RegEx分割单词和数字。
使用parseInt()递增数字。
附加到单词。
答案 5 :(得分:0)
尝试通过char读取字符串char,检查其ASCII码。如果它从48到57你得到你的号码。尝试使用charCodeAt函数。然后只需分割字符串,增加数字及其完成。