Searching pattern in vim

32 views
Skip to first unread message

Melvin Simon

unread,
Feb 6, 2017, 4:46:45 AM2/6/17
to vim_use
Hi,

Could someone guide me to match patterns in the following manner:-

input

/somealphabets/somethingelse/finalword

output

finalword

i.e. I want to ignore all other'/' and get the last word alone, i.e. word between last / and $ (end of line)

Thanks

Tony Mechelynck

unread,
Feb 6, 2017, 5:06:40 AM2/6/17
to vim...@googlegroups.com
To erase everything until the last slash on every line of the current file:

:%s/.*\//

i.e "replace any number of characters" (dot means "anything except a
line break"), "as many as possible" (that's the star), "ending in a
(backslash-escaped) slash, by nothing". The % range is short for 1,$
i.e. "from first to last line".

If there are several slashes on a line, all of them except the last
one will be caught by the .* part.

To get the part of a string data item after the last slash, you use
the same pattern:

:let result = substitute(givenstring, '.*\/', '', '')

I'm using _single_ quotes, i.e., there are two empty arguments at the
end. 'result' and 'givenstring' are variable-names, you may replace
them by whatever is required at that point in your code.

Best regards,
Tony.
> --
> --
> You received this message from the "vim_use" maillist.
> Do not top-post! Type your reply below the text you are replying to.
> For more information, visit http://www.vim.org/maillist.php
>
> ---
> You received this message because you are subscribed to the Google Groups "vim_use" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+u...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Melvin Simon

unread,
Feb 6, 2017, 6:48:37 AM2/6/17
to vim...@googlegroups.com
Thanks a lot Tony!

> To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to a topic in the Google Groups "vim_use" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/vim_use/n31k48AwgMU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to vim_use+unsubscribe@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages