我想用短划线替换线上的第一个空格。这有点复杂,因为解析器会自动应用/ g来应用整行。
示例输入: A1 B2单词单词
期望的输出: A1-B2单词单词
我不能做一个简单的/ \ s / - /因为自动/ g会将所有空格改为破折号。我尝试了一个负回顾/ s(?< \ s \ w)和其他几个变体(单词和边界匹配)但我最终匹配所有空格或我匹配第一个或最后一个字符与空格,以便我最终裁掉了太多。
如何仅使用全局应用的模式替换第一个空格?
答案 0 :(得分:1)
您可以尝试这样的事情:
/^(\S*)\s/$1-/
^
指定行的开头,\S
匹配所有非空白字符。这将假设您没有任何前导空格,否则您的第一个字符将替换为 - 。
答案 1 :(得分:0)
您可以使用^
表示一行的开头:
/^.*?\s/$1-/