2017-05-11 18 views
0

文字列がある場合:2017-01-12T19:00:00.000 + 000、2017-01-12が必要なので、後に「T」を含めてすべて削除する方法進む、R gubub正規表現の構文エラー

gsub("$.*T"," ","2017-01-12T19:00:00.000+000") 

これは機能しませんか?私は私の自己を参照しています:http://www.endmemo.com/program/R/gsub.php

ありがとう!

+2

' " T + $"'私は、あなたがしたいと思います。 '$'は文字列全体の終わりを表しますので、あなたが持っているものとは何の関係もありません。 – thelatemail

+1

正規表現での日付時刻の抽出はかなり危険です。標準形式で変換し、必要な情報を抽出してください。 '' 2017-01-12T19:00:00.000 + 000 ')と '.date(" 2017-01-12T19:00:00.000 + 000 ")' –

+1

'substr(" 2017-01 -12T19:00:00.000 + 000 "、1,10)'ただし、上記のコメントにはすべて記入してください。 – epi99

答えて

1

1つの方法は、文字列の日付部分をgsub()と一致させてキャプチャし、キャプチャされた文字列全体を置き換えることです。

gsub("(\\d{4}-\\d{2}-\\d{2}).*","\\1","2017-01-12T19:00:00.000+000") 
[1] "2017-01-12" 

あなたの独創的なアプローチ:他人として

gsub("T.*","","2017-01-12T19:00:00.000+000") 
[1] "2017-01-12" 

は、この形式の必要性は、この特定のタイムスタンプ文字列の範囲を超えた場合、その後、あなたが代わりに日付のAPIを使用することを検討すべきである、と述べています。ここ

デモ:

Rextester

+0

コメントを削除してください – epi99