0

假设我们在 vimscript 中给出了这个字符串:

"/home/Linus Torvalds/.vim/bundle/vim-autoformat/formatters/tidy -q --show-errors 0 --show-warnings 0 --indent auto --indent-spaces 2 --vertical-space yes --tidy-mark no --wrap 68".

我们如何提取文件名部分?在这种情况下,这将是:

"/home/Linus Torvalds/.vim/bundle/formatters/tidy".

4

1 回答 1

0

如果您可以保证路径本身没有破折号(-),我会这样做:

matchstr(input_string,'^.\{-}\ze -')

解释:从字符串的开头 ( ^) 非贪婪地匹配任何字符 ( .\{-}) 直到第一次出现空格后跟破折号 ( \ze -)。

或者您可以匹配到第一个破折号,然后使用substitute()命令修剪任何尾随空格,这会不太简洁,但可能更具可读性。

于 2013-02-26T17:43:18.010 回答