正在从字符串中提取数字
Extracting number from a string
从字符串中获取数字的最佳方法是什么。
字符串将始终以n
开头,并以任何数字结尾,即:
n1
n2
n3
n10
n100
n1000
n99999
n9999999999999
等等。
如果你能保证字符串总是这样,那么
num = parseInt(str.substring(1));
如果它总是以单个"n"开头,请保持简单:
var number = parseInt(value.replace('n', ''));
Number.of = function (number) {
if (typeof number === "number")
return number;
var number = number + '',
regnum = /(-)?[0-9]+'.?[0-9]*/.exec(number);
return regnum ? (new Function('return ' + regnum[0]))() : 0;
};
那就跑吧。。
Number.of('n12345'); // 12345
我的方法非常谨慎,但什么能从任何事情中提取一个数字呢。
Number.of('Hel5lo'); // 5
并且总是返回一个数字。
Number.of('There is no number here.'); // 0
这可能对你有帮助,也可能对你没有帮助。
您可以使用String.prototype.substr
[docs](或substring
)和一元+
将字符串转换为数字:
var number = +str.substr(1);
我建议:
$('dt').each(
function(){
var n = $(this).text().substring(1);
$('<dd />').text(n).insertAfter($(this));
});
JS Fiddle演示。
显然,选择使用哪些元素并不重要(我选择了dt
和dd
来表示输入和输出之间的隐含关系)。重要的部分是substring()
函数;1
的值指的是生成的子字符串的起点(从第二个字符开始,因为JavaScript使用基于零的数组)。
如果传递了第二个数字,形式为substring(1,4)
,则生成的子字符串将从第二个字符开始,并以第五个结束,除非substring()
所使用的字符串的长度短于第二个参数,在这种情况下,它被视为等于字符串的长度。
参考:
- Mozilla开发者中心的
substring()
相关文章:
- 循环遍历数字和字母数组并仅提取数字
- 使用Selenium IDE从字符串中提取数字
- 从输入中提取数字,并插入一个等式javascript
- 从javascript中的字符串中收集/提取数字
- 使用正则表达式从字符串中提取数字
- 如何使用Javascript从字符串中提取数字
- 从字母数字值中提取数字
- 正则表达式 - 从 URL 中提取数字
- 使用正则表达式提取数字
- 如何使用javascript从字符串中提取数字
- 仅使用javascript提取数字
- 点击列表激活jquery Ajax并提取数字
- 从字符串中提取数字并将其存储在数组Javascript中
- 使用Birt脚本从字符串中提取数字
- 在JavaScript中,从美元金额中提取数字的最紧凑、最高效、最可靠的方法是什么
- 如何使用javascript从网站中提取数字
- 是否可以按顺序从数组中提取数字和运算符
- Regex-从捕获组中提取数字
- Javascript从不工作的字符串中提取数字
- 如何从多项式字符串中提取数字(包括+和-符号)