基本的javascript - 从字符串中取出整数值[重复]
Posted
技术标签:
【中文标题】基本的javascript - 从字符串中取出整数值[重复]【英文标题】:basic javascript - taking the integer value out of a string [duplicate] 【发布时间】:2014-11-11 14:51:49 【问题描述】:好了,虽然我搜索了学习资源我找不到我想要的确切的事情。请帮助改善这篇文章,而不是向下的投票,使所有新学习者可以提高自己的知识。 P>
让我们假设有一个变量 P>
var y = "number12";
var z ="";
-
如何使Z = 12(如何只取整数值输出Y字符串变量) LI>
如何使Z = number13(增加一个到 “数字” 12) LI>
【问题讨论】:
看一看为“正则表达式”。或者你可以尝试这种模式的一个字符串分割成非数部分和数字部分(开始于字符串的结尾,检查,如果这个角色仍然是0-9,倒退,重复)。递增数部分和结合这两个部分再次返回到一个字符串。跨度> 是否串总是以数字结束?是number
文本常量? SPAN>
@亚历K.是数是常数跨度>
【参考方案1】:
使用 RegEx 提取数字,然后使用 parseInt
将字符串 "12"
转换为数字 12
。
var y = "number12";
var x = parseInt( y.match(/\d+/) );
alert(x)
【讨论】:
x = parseInt(y.match(/[\d\.]*/)); 有什么区别?和 var x = parseInt( y.match(/\d+/) );\d
匹配单个数字,例如 1
,\d+
匹配一个或多个数字,例如 12
。 \d*
将匹配零位或一位数字。[\d\.]*
似乎不起作用。有关正则表达式的更多信息:regular-expressions.info/tutorial.html【参考方案2】:
你可以试试这个,
var y = "number12";
x = parseInt(y.match(/[\d\.]*/));
【讨论】:
【参考方案3】:鉴于:@Alex K. 是的,数字是一个常数
简单地说:
var x = "number" + (+y.substr(6) + 1);
【讨论】:
@Alex K. 你能解释一下 x = parseInt(y.match(/[\d\.]*/)); 之间有什么区别吗?和 var x = parseInt( y.match(/\d+/) );【参考方案4】:我同意matthias
var input = "number12";
// define a regular expression to match your pattern
var re = /(\D+)(\d+)/;
// execute the regexp to get an array of matches
var parsed = re.exec(input); // ['number12', 'number', '12']
// parse an integer value of the number
parsed[2] = parseInt(parsed[2], 10); // '12' ==> 12
// increment the number
parsed[2] += 1; // 12 ==> 13
// rejoin the string
input = parsed[1] + parsed[2]; // 'number' + 13 ==> 'number13'
【讨论】:
以上是关于基本的javascript - 从字符串中取出整数值[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 UIAutomation 中从句子中取出特定的单词?