Funkcja strsplit w R ma, dopasuj i usuń dane wyrażenie regularne, aby podzielić resztę łańcucha na wektory.Jak powinienem podzielić i zachować elementy za pomocą strsplit?
>strsplit("abc123def", "[0-9]+")
[[1]]
[1] "abc" "" "" "def"
Ale w jaki sposób powinienem podzielić strunę w ten sam sposób, używając wyrażenia regularnego, ale także zachować dopasowania? Potrzebuję czegoś takiego.
>FUNCTION("abc123def", "[0-9]+")
[[1]]
[1] "abc" "123" "def"
Korzystanie strapply („abc123def”, „[0-9] + | [az] +”) pracuje tutaj, ale co jeśli reszta ciąg innych niż mecze nie mogą zostać przechwycone przez wyrażenie regularne ?
Możesz przechwytywać wszystkie znaki za pomocą wzoru "[0-9] + | [^ 0-9] +" lub wydłużyć wzór, aby uchwycić wszystko inne i odrzucić je za pomocą funkcji FUN = (x), jeśli (grepl ("^ [0-9a-z] + $", x)) x –
Cześć, widzę, że jesteś nowy w SO. Jeśli uważasz, że odpowiedź rozwiązała problem, zaznacz go jako "zaakceptowany", klikając zielony znacznik wyboru. Pomaga to skupić się na starszych SO, które wciąż nie mają odpowiedzi. http://meta.stackexchange.com/questions/88535/asking-for-someone-to-accept-your-answer/135824#135824 –