如何修剪字符串和数字之间的空格。这个正则表达式(版本。*?\ d $)提供版本号,但在版本号和版本号之间留有几个空格,但我正在尝试修剪空间,以便只有1个空格。
(App Version .*?\d$)
Example: App Version 1.1.0.11
Desired output: App Version 1.1.0.11
非常感谢任何指导或指导。
答案 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]
)。
有效地,仅当存在两个或更多个空格时才删除空格。前空格永远不会删除。