假设我们在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"
。
答案 0 :(得分:0)
如果你能保证路径本身没有短划线(-
),我会这样做:
matchstr(input_string,'^.\{-}\ze -')
说明:从字符串(^
)的开头开始,匹配任何字符非贪婪(.\{-}
),直到第一次出现空格后跟短划线(\ze -
)。
或者你可以匹配到第一个破折号,然后使用substitute()
命令修剪任何尾随空格,这将不那么简洁,但可能更具可读性。