I have a text file with many statements like: "1", "23",..... etc and I want to replace these occurrences with 1, 23,.... etc. That is just removing the quotes. How can I do this in VIM?
3 Answers
Use :
:%s/"\(\d\+\)"/\1/g
Which means: replace any sequence of digits between double quotes with the sequence of digits itself.
For more reference:
:help :s
:help pattern
1 Comment
Ves
Useful example of search command, but IMHO simple
s/"//g do "just removing the quotes" as requested in the questionYou type esc then:
:%s/\"\([0-9]*\)\"/\1/g
This will substitute the pattern: " any digits " by any digits.
Note that \1 will replicate what has been matched within these: \( \)
1 Comment
Benoit
This will also delete any pair of successive double-quotes with no digits inside.
You can do it like this -
:%s/"\(\d\+\)"/\1/c
1 Comment
Benoit
/c will ask for confirmation, and only once per line. You at least want to add the g flag also.
vimtutor.