Friday, July 17, 2020

substitution, transform string to list?

Hi,

I encountered a nice question to transform some data, and are puzzled
how to do this in Vim. Preferably with the least possible keystrokes,
substitution above a macro. The complete set to transform is some 80k
lines and the first word might differ per line.

Who can help here?

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

Regular substitution `:s/;/\rABBEEL;/g' only works for each line and the
first word has to be typed by hand. I tried using wildcards like `\w\+'
and `.*' but only got a messy result (source is here:
https://stackoverflow.com/questions/10336609/is-it-possible-to-use-find-and-replace-on-a-wildcard-string-in-vim)

TIA,

//meine

--
--
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/20200717091014.GA999%40trackstand.

No comments: