SORU
3 ŞUBAT 2010, ÇARŞAMBA


Düzenli ifade R sürüm 2.10 özü maç

Bir dize bir dizi ayıklamak için çalışıyorum.

Ve bu dize böyle bir şey [0-9] "" ve "12". aaaa12xxxx

Gibi bir şey olacağını düşündüm:

> grep("[0-9] ","aaa12xxx", value=TRUE)
[1] "aaa12xxx"

Ve sonra düşündüm...

> sub("[0-9] ", "\\1", "aaa12xxxx")
[1] "aaa12xxx"

Ama yanıt çeşit işleri var:

> sub("[0-9] ", "ARGH!", "aaa12xxxx")
[1] "aaaARGH!xxx"

Tavsiye Lütfen kaçırdığım küçük bir ayrıntı var :-)

R sürüm 2.10.1 (2009-12-14) kullanıyorum

Teşekkürler !


Çözüm üzerinde yorum

En iyi çözüm standart işlevleri görmezden ve Hadley Wickham kurmaktırstringrpaket aslında mantıklı bir şeyler almak için.

Standart kütüphane nasıl çalıştığını bulmaktan için Marek şeref.

CEVAP
3 ŞUBAT 2010, ÇARŞAMBA


Kullanımı tutarlı bir sözdizimi mevcut tüm düzenli ifade çalışır sarar ve eksik olan bir kaç ekleyen yeni stringr paket:

library(stringr)
str_locate("aaa12xxx", "[0-9] ")
#      start end
# [1,]     4   5
str_extract("aaa12xxx", "[0-9] ")
# [1] "12"

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • MrExcite96

    MrExcite96

    17 ŞUBAT 2011
  • placeboing

    placeboing

    7 Mart 2006
  • Yanko Kral

    Yanko Kral

    8 HAZİRAN 2006