小数点以下5桁をすべて探して一桁ずつ追加

小数点以下5桁をすべて探して一桁ずつ追加

スペースで区切られた数字を含む.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つのグループにのみアクセスできます。

おすすめ記事