我可以在以下字符串中找到空格:
“____来自ABC的输入”<<请注意,此字符串的开头有4个空格
使用此正则表达式:
[a-z] [a-z]
如何将“t f”替换为“tf”,将“m A”替换为“mA”?我想我必须使用团体,但我不记得如何。任何意见,将不胜感激。
P.S。请注意,字符串开头有4个空格我不想删除它们。
答案 0 :(得分:3)
只需使用\s
并替换为空字符串""
即可。您也可以使用文字空间,它也可以完美地工作。请记住使用全球旗帜。
即,使用/\s/g
或/ /g
并替换为""
关于您的更新,您仍然可以使用上面的正则表达式,然后只需在字符串中添加四个空格,这非常有效。如果你仍然想要一个正则表达式,你可以使用
(?<=\w)\s(?=\w)
并替换为""
(空字符串)
答案 1 :(得分:1)
使用正则表达式:s / \ s // g 这应该适用于perl。
echo "Input from ABC"|perl -pe 's/\s//g'
>InputfromABC
答案 2 :(得分:1)
根据您使用的语言,您应该有“替换”功能
您必须使用捕获组,如下所示:
([a-z]) ([a-z])
http://www.regular-expressions.info/refcapture.html
然后使用该函数将它们恢复为您想要的模式:
newString = oldString.replace("([a-z]) ([a-z])", "\1\2")
\ X引用第X个括号组
答案 3 :(得分:1)
您可以使用下面的(*SKIP)(*F)
,
^\s+(*SKIP)(*F)|\s
然后用空字符串替换匹配的空格。
答案 4 :(得分:1)
在正则表达式中,你不能将值替换为另一个,你可以检测某些字符或你在表达式中放置的任何内容,之后你可以在检测到该字符时进行替换。
[a-z]+\\s
上面的表达式将检测到空格,之后您可以决定替换字符串
答案 5 :(得分:1)