У меня есть таблица с полем символов, который может иметь любой из этой схемы:Spliting строка с конкретным шаблоном
input
97 # a single number
210 foo # a number and a word
87 bar 89 # a number, a word, a number
21 23 # two numbers
123 2 fizzbuzz # two number, a word
12 fizz 34 buzz # a number, a word, a number, a word
я хотел бы разделить каждую линию до 4-х частей, содержащая соответственно the first number
, the first word
если есть, the second number
если есть, и the second word
если есть. Так что мой пример даст:
input nb_1 word_1 nb_2 word_2
97 97
210 foo 210 foo
87 bar 89 87 bar 89
21 23 21 23
123 2 fizzbuzz 123 2 fizzbuzz
12 fizz 34 buzz 12 fizz 34 buzz
Пожалуйста, обратите внимание на случай two number, a word
(пример до последнего): это не имеет ничего word_1
как нет ни слова между двумя числами.
Есть ли способ сделать это без утомительной структуры if/if/else?
Если это может помочь, все слова принадлежат к списку из 10 конкретных слов. Кроме того, если есть два слова, они могут быть одинаковыми или разными. Кроме того, цифры могут составлять одну, две или три цифры.
Благодаря
Для показа примера используйте 'dput'. Является ли это одной строкой или двумя столбцами в data.frame, т. Е. '« Один номер: 97 »' – akrun
Извините, это было просто указание шаблона, я изменил вопрос в надежде более ясным образом. –