ich folgende Datenrahmen haben:R regex Extrakt ähnliche Wörter, aber man hat Bindestrich
species size_description
1 "some text Small some text"
2 "some text small-med some text"
3 "some text Med. some text"
4 "some text medium some text"
5 "some text med-large some text"
6 "some text large some text"
Ich möchte eine regex die Größe in der Größe Beschreibungsfeld die Captures schreiben, so dass es würde wie folgt aussehen:
species size_description newSize
1 "some text Small some text" "Small"
2 "some text small-med some text" "small-med"
3 "some text Med. some text" "Med."
4 "some text medium some text" "medium"
5 "some text med-large some text" "med-large"
6 "some text large some text" "large"
ich habe versucht, es so zu tun:
size_regex = paste(
"[Ss]{1}mall",
"[Mm]{1}ed\\.*i*u*m*",
"[Mm]{1}ed\\.*i*u*m*-*\\s*[Ll]{1}arge", #doesnt work
"[Ss]{1}mall-*\\s*[Mm]{1}ed\\.*i*u*m*", #doesnt work
"[Ll]{1}arge",
sep = "|"
)
df$newSize = str_extract(df$size_description, age_regex)
ABER, es diejenigen, die mit hy unterscheiden kann nicht Phens. Zum Beispiel, für Spezies 2 zeichnet es es als "klein" und nicht "klein-med" auf.
Wie kann ich eine Regex schreiben, die dies in R tun? Ich habe Vorliebe für das Stringr-Paket, aber alles wird reichen.
Beachten Sie den Grund, warum ich die Option für die vollständigen Wörter in meiner Regex lassen, ist, dass einige Beschreibungen das vollständige Wort verwenden. Zum Beispiel können einige "klein-mittel" sein, während andere nur "klein-med" sind.
Größe das dritte Wort immer erwähnt? – rock321987
nein, es kann überall in der Zeichenfolge sein –
Was sind die möglichen 'Größe' Elemente, die Sie in Betracht ziehen? – rock321987