Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式-从字符串中删除小数_Javascript_Node.js_Regex - Fatal编程技术网

Javascript 正则表达式-从字符串中删除小数

Javascript 正则表达式-从字符串中删除小数,javascript,node.js,regex,Javascript,Node.js,Regex,我正在寻找一些正则表达式或JS中的其他方法,如何从字符串中删除十进制数 输入示例: Mazda 6 2.0 Skyactiv-G Wagon 2018 - Startstop.sk - TEST Mercedes C63 AMG Sound REVVING 6,3l V8 示例输出: Mazda 6 Skyactiv-G Wagon 2018 - Startstop.sk - TEST Mercedes C63 AMG Sound REVVING l V8 无论我看到哪里,人们都想保留整

我正在寻找一些正则表达式或JS中的其他方法,如何从字符串中删除十进制数

输入示例:

Mazda 6 2.0 Skyactiv-G Wagon 2018 - Startstop.sk - TEST
Mercedes C63 AMG Sound REVVING 6,3l V8 
示例输出:

Mazda 6 Skyactiv-G Wagon 2018 - Startstop.sk - TEST
Mercedes C63 AMG Sound REVVING l V8 
无论我看到哪里,人们都想保留整数和小数,而只是删除字符串。但我想保留所有整数,只要用逗号或点去掉小数即可

我试过这样的方法:

var string = "Mazda 6 2.0 Skyactiv-G Wagon 2018 - Startstop.sk - TEST"
parseFloat(string.match(/[\d\.]+/))
// Result is 6
但这实际上只是再次删除除整数之外的所有内容。

您可以尝试\s\d*\。\d+\s

在哪里

\s-匹配任何空白字符

\d*-匹配零次和无限次之间等于[0-9]的数字

\.-与角色匹配。字面上

d+-在一次和无限次之间匹配等于[0-9]的数字

var字符串=`Mazda 6 2.0 Skyactiv-G货车2018-Startstop.sk-测试 梅赛德斯C63 AMG音响加速6,3升V8` console.logstring.replace/\s\d*\。\d+\s\s\d*,\d+/gm' 您可以尝试\s\d*\。\d+\s

在哪里

\s-匹配任何空白字符

\d*-匹配零次和无限次之间等于[0-9]的数字

\.-与角色匹配。字面上

d+-在一次和无限次之间匹配等于[0-9]的数字

var字符串=`Mazda 6 2.0 Skyactiv-G货车2018-Startstop.sk-测试 梅赛德斯C63 AMG音响加速6,3升V8` console.logstring.replace/\s\d*\。\d+\s\s\d*,\d+/gm'; 结果:

Mazda 6  Skyactiv-G Wagon 2018 - Startstop.sk - TEST
说明:

\d :  Matches any digit character (0-9).
+ :   Match 1 or more of the preceding token.
[\.,] : Match "." character  or "," character.
结果:

Mazda 6  Skyactiv-G Wagon 2018 - Startstop.sk - TEST
说明:

\d :  Matches any digit character (0-9).
+ :   Match 1 or more of the preceding token.
[\.,] : Match "." character  or "," character.

您可以使用[,.]匹配点和逗号,并在其前后匹配一个或多个数字

您可以使用string.replace并在替换中使用空字符串,而不是使用string.match

匹配可选的前导空格字符,以防止仅删除数字后出现双空格:

\s*\d+[.,]\d+
var字符串=马自达6 2.0 Skyactiv-G货车2018-Startstop.sk-测试 string=string.replace/\s*\d+[,]\d+/g;
console.logstring 您可以使用[,.]匹配点和逗号,并在其前后匹配一个或多个数字

您可以使用string.replace并在替换中使用空字符串,而不是使用string.match

匹配可选的前导空格字符,以防止仅删除数字后出现双空格:

\s*\d+[.,]\d+
var字符串=马自达6 2.0 Skyactiv-G货车2018-Startstop.sk-测试 string=string.replace/\s*\d+[,]\d+/g;
console.logstring;匹配1个或多个数字,后跟以点或逗号开头的小数部分\d+?:[,]\d+6,3l?这是一个小写的L字符。这是故意的还是应该是一位数字?关于subr\b\d+[,]\d+\b?,s?它是小写L,表示它有多少升:@Thefourthbird似乎你的答案是唯一一个可以随意写出来的答案,而不是评论,我会接受的。这里可能有重复的问题,例如匹配1个或多个数字,后面是以点或逗号开始的小数部分\d+?:[,]\d+6,3l?这是一个小写的L字符。这是故意的还是应该是一位数字?re.subr\b\d+[,]\d+\b?,s?这是小写字母L,表示它有多少升:@Thefourthbird似乎您的答案是唯一一个可以随意写出来作为评论的答案,我将接受它。这里可能有重复的问题,例如,结果应该是马自达6 Skyactiv-G货车2018-Startstop.sk-测试不2@Andurit,你说得对,更新了答案,谢谢:谢谢@Mamun,但这只适用于。不与,。作为我的第二个例子,梅赛德斯C63 AMG Sound Reving 6,3l V8@Andurit,我已经更新了答案,请检查:谢谢,我为正确答案竖起大拇指,但是我决定接受其他答案,因为它是第一个:结果应该是马自达6 Skyactiv-G货车2018-Startstop.sk-测试不是2@Andurit,你说得对,更新了答案,谢谢:谢谢@Mamun,但这只适用于。不与,。作为我的第二个示例,梅赛德斯C63 AMG Sound Reving 6,3l V8@Andurit,我已经更新了答案,请检查:谢谢,我为正确答案竖起大拇指,但我决定接受其他答案,因为它是第一个: