如何使用RegEx修剪单词和数字之间的空格

时间:2018-04-04 15:54:13

标签: regex

如何修剪字符串和数字之间的空格。这个正则表达式(版本。*?\ d $)提供版本号,但在版本号和版本号之间留有几个空格,但我正在尝试修剪空间,以便只有1个空格。

(App Version .*?\d$)
Example: App Version               1.1.0.11
Desired output: App Version 1.1.0.11

非常感谢任何指导或指导。

4 个答案:

答案 0 :(得分:0)

根据您编写的内容,语法可能略有不同,但这些内容应该有效:



var str = "App Version               1.1.0.11"
var rgx = /((?:\s*\w+)+)\s+([\d.]+)$/

console.log(str.replace(rgx, "$1 $2"))




正则表达式在开头(?:\s*\w+)+捕获重复的单词序列,匹配但不捕获\s+之间的空格,然后在末尾捕获数字序列和.个字符{ {1}}

答案 1 :(得分:0)

如果您的正则表达式引擎支持肯定lookbehind (?<=,那么您可以使用:

(?<=App Version) +并替换为单个空格。

答案 2 :(得分:0)

您可能不会只有空格,而是介于两者之间。我能想到的最简单的正则表达式是搜索\w后跟任意数量的制表符或空格,然后搜索数字\d,并用相同的单词char替换它,后跟一个空格,以及第二个匹配的数字。

(\w)[\s\t]+(\d)

替换为

$1 $2

See demo了解详情

答案 3 :(得分:0)

正则表达式:/(?<=\w ) +(?=\d)/

替换为:''(空字符串)

这将匹配一个或多个空格,如果前面紧跟着一个“单词序列([A-Za-z0-9_]),则一个空格将立即匹配后跟一个数字([0-9])。

有效地,仅当存在两个或更多个空格时才删除空格。前空格永远不会删除。