2

私は近くにいますが、これを機能させることができないようです。この文字列"1960-12-031 22: 00 :010 "をこの文字列 "1960-12- 31 22:00:10 "に変換するには、2つの数字の前に0が付いている場所を見つけてから0を削除します。

正規表現が機能しています:

txt <- "1960-12-031 22:00:010"
gsub("(0+[0-9]{2})", "\\1", txt, perl=TRUE)

「\\1」を使って最初の文字を削除する方法がわからないようです。

どんな援助もいただければ幸いです-

4

1 に答える 1

2
txt <- "1960-12-031 22:00:010"
gsub("0+([0-9]{2})", "\\1", txt, perl=TRUE)

これにより、031、0031、00031などが31に置き換えられることに注意してください。最初のゼロのみを削除する場合は、を使用します"0{1}([0-9]{2})"

更新:コメントの推奨事項に従って、"[\\D]0+([0-9]{2})"2012などの数値内でゼロが一致しないようにするために使用できます。

于 2012-05-20T19:15:09.253 に答える