vimを置き換える - パターン[...]を文字列に置き換える

vimを置き換える - パターン[...]を文字列に置き換える

次の形式の行を含むファイルがあります。

[[email protected], [email protected]], Payment processed - 23499, params = {'invoice':3243}

口座番号23499だけ知りたいです。数字です。それについて話しましょう<account>。定数ではありません。

このために頑張っています——

  1. 削除するparams ...
  2. 各行の先頭にある[...]を空白に置き換えます。

私は...任意の文字列を意味します。頑張りました -

# 1
:%s/params.*//g
# 2
:%s/\<[]\>//g
:%s/\<\[\]\>//g
:%s/\<[.*]\>//g
:%s/\<\[.*\]\>//g

私が試したすべてがうまくいき# 2ませんでした。私は何が間違っていましたか?それを得る方法<account>?助ける。

ベストアンサー1

次の手順でアカウントのみを保持できます。(JDMMohrへのCudo)
コマンドのrの後のスペースに注意してください。

:%norm $F,d$Bhv0r 

,これは、維持したい番号の後にのみ以下が続くと仮定します。

崩れる

:     -> Enter command mode
%norm -> Applies a normal command to the entire file
$     -> Jump to end of line
F,    -> Find preceding ,
d$    -> Delete until end of line
B     -> Jump back a word
hv0   -> Go left one character and select until beginning of line
r     -> replace selected text with <space>

おすすめ記事