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