スペースで区切られた数字を含む.txtファイルがあります。
40.766375 -84.267443
40.766355 -84.267463
40.766325 -84.263443
...
場合によっては、最初の列に小数点以下6桁の数字がない場合があります。
40.76632 -84.263443
この問題が発生するたびに、最後にゼロを挿入して次のような結果を得たいと思います。
40.766320 -84.263443
行が多すぎて(36000以上)正規表現を使用してこれを実行したいと思います。どんなアイデアがありますか?
編集:似たようなものが必要なようですが、
:%s/\.d{5}/\.d{5}0
そこに行くことはできません。
ベストアンサー1
:%s/\(\.\d\{5\}\) /\10 /
これはあなたが望むことをすることができます。
説明する
\(\.\d{5\}\)
最初に表示される点(\.
)と5つの数字()をキャプチャします\d\{5\}
。また、キャプチャグループの後にスペースを残して、正確に5つのキャプチャグループがあることを確認します。
置換の2番目の部分は、\1
最初(そして1回)のキャプチャグループにアクセスするために使用され、0
その後にスペースを入れ、スペースが正規表現と一致しますが、2番目の部分には送信されないため、スペースを入れます。
グループキャプチャに関するいくつかの情報:\10
まさに「グループ番号1キャプチャ、その後に0が続く」。したがって、8つのグループにのみアクセスできます。