我是使用regexp的新手,有人可以给我一个regexp,除了javascript中的字符串中的整数外,还会删除所有内容吗?
我想取字符串“http://www.foo.com/something/1234/somethingelse”并将其作为整数降低到1234。
由于
答案 0 :(得分:7)
var str = "something 123 foo 432";
// Replace all non-digits:
str = str.replace(/\D/g, '');
alert(str); // alerts "123432"
在回答您编辑的问题时,从字符串中提取一串数字可能很简单,具体取决于您是要定位字符串的特定区域,还是只想提取第一个出现的数字字符串。试试这个:
var url = "http://www.foo.com/something/1234/somethingelse";
var digitMatch = url.match(/\d+/); // matches one or more digits
alert(digitMatch[0]); // alerts "1234"
// or:
var url = "http://x/y/1234/z/456/v/890";
var digitMatch = url.match(/\d+/g); // matches one or more digits [global search]
digitMatch; // => ['1234', '456', '890']
答案 1 :(得分:1)
这只适用于整数:
[0-9]+
+
表示匹配1或更多,而[0-9]表示匹配范围0
至9
中的任何字符。
答案 2 :(得分:1)
uri = "http://www.foo.com/something/1234/somethingelse";
alert(uri.replace(/.+?\/(\d+)\/.+/, "$1"))
答案 3 :(得分:0)
只需定义一个需要值为数字的字符类。
/[^0-9]/g // matches anything that is NOT 0-9 (only numbers will remain)