Friday, July 17, 2020

Re: substitution, transform string to list?

On 2020-07-17 11:10, meine wrote:
> The data to transform:
>
> ABBEEL;1872/253;1882/576;1886/1925;1887/603;1887/1813;1894/1444;1898/3449
> ABBEELS;1888/1401;1889/562;1891/2371;1899/3088;1902/732;1903/1509;1904/1317
>
> should become:
>
> ABBEEL;1872/253
> ABBEEL;1882/576
> ABBEEL;1886/1925
> ABBEEL;1887/603
> ABBEEL;1887/1813
> ABBEEL;1894/1444
> ABBEEL;1898/3449
> ABBEELS;1888/1401
> ABBEELS;1889/562
> ABBEELS;1891/2371
> ABBEELS;1899/3088
> ABBEELS;1902/732
> ABBEELS;1903/1509
> ABBEELS;1904/1317

You can do it in two passes, one to prefix each item on its own line:

:%s/\%(^\([^;]*\).*\)\@<=\(;[^;]*\)/\r\1\2/g

and then a second command to delete all the remnant lines (ones that
are just the prefix which don't have a ";" in them):

:v/;/d

-tim



--
--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/20200717074606.11a74992%40bigbox.attlocal.net.

No comments:

Post a Comment