我已经使用 innerHTML 方法将字符串检索到变量中。字符串是:
£ 125.00
<!-- End: pagecomponent/pricesplit -->
我只想要 125.00 部分。是否可以使用 parseInt() 方法将其转换为整数?或者,我可以做些什么来提取 125.00 部分?
谢谢
我已经使用 innerHTML 方法将字符串检索到变量中。字符串是:
£ 125.00
<!-- End: pagecomponent/pricesplit -->
我只想要 125.00 部分。是否可以使用 parseInt() 方法将其转换为整数?或者,我可以做些什么来提取 125.00 部分?
谢谢
您可能希望使用正则表达式来删除除数字和句点之外的任何内容,然后parseInt
在剩余的字符串上运行:
parseInt(yourString.replace(/[^\d.]/g, ''), 10);
在这里测试正则表达式。这是一个细分:
/.../
只是用于包装正则表达式的语法。忽略这些。
[...]
创建一个字符类。
^
当放置在字符类的开头时,它会否定里面的所有内容。
\d
任何数字
.
一个字面上的时期。它不需要在字符类内部转义 - 在外部它意味着“任何字符”并且需要转义。
所以/[^\d.]/
意思是“匹配任何不是数字或句点的东西”,然后用空字符串替换它。
如果您的号码可能包含小数点后的有效数字,例如125.50
,您应该使用parseFloat
而不是parseInt
。
您可以使用正则表达式获取值。这是一个例子:
var str = '£ 125.00<!-- End: pagecomponent/pricesplit -->';
parseInt((/\d+/).exec(str)[0], 10);
或者,如果您还想获得零:
(/\d+\.\d+|\d+/g).exec(str)[0]
您无法直接使用它,parseInt
因为当字符串不以数字开头时parseInt
不起作用。