【发布时间】:2020-02-21 19:22:57
【问题描述】:
我目前遇到一个似乎无法解决的问题。
var amount = "$ 75.00 USD";
我只想要 75.00 部分。我尝试了以下方法:
var new_str = amount.split(" ");
这在 chrome 中给了我以下结果:
0: "$ 75.00" 1:“美元”
所以我找到了另一种解决方法:
var new_str = amount.substring(amount.indexOf(' '), 2).replace(',','');
这给了我 75.00,正如我在 Chrome 和 FF 中想要的那样。
问题是在 IE 中它给了我 0。
但是,当我尝试时
var new_str = amount.split(" ");
在 IE 中
0: "$" 1:“75.00” 2:“美元”
我只是想找到一个对两者都有效的函数。我当然可以创建一个 if 语句,但我只是认为 split 应该可以工作。
还有其他人遇到过这个问题吗?
最佳关
【问题讨论】:
-
改用正则表达式
-
如果
amount.split(" ");返回["$ 75.00", "USD" ],那么第一个“空格”不是常规空格字符。 -
"$ 75.00 USD".split(" ")在 Chrome 中按预期工作,将字符串分成三个块。看起来好像您的字符串中的空格有所不同。也许在那里寻找可能的答案:stackoverflow.com/questions/10319539/… -
当我在 Chrome 中打开控制台并运行您的第一个示例时,我将字符串按预期分成三部分:
['$', '75.00', 'USD']。 -
在 Firefox 中相同(3 元素数组)
标签: javascript string google-chrome