У меня есть вектор строк, некоторые из которых содержат знаки препинания/символы. Например:
words <- ("hi", "my.", "name!", "is98", ""joe"")
Моя цель — создать вектор, в котором есть все эти слова, но знаки препинания, числа и символы превращаются в собственную строку в векторе. Итак, в этом случае
("hi", "my", ".", "name", "!", "is", "98", """, "joe", """)
Мой первоначальный план состоял в том, чтобы использовать grep
для определения индексов, в которых существуют указанные знаки препинания, затем пройтись по ним и использовать strsplit
для их разделения на основе указанных знаков препинания следующим образом:
puncIndex <- grep('[\\"!?.^]', words)
for(i in puncIndex){
strsplit(words[i], '[\\"!?.^]')
}
Но у меня есть пара проблем. Во-первых, я понимаю, что результатом strsplit
будет сам список, и я не могу понять, как аккуратно просто переместить каждый из компонентов обратно в исходный вектор. Другое дело, что даже когда я пробую strsplit
только для одного слова, возвращается только первая часть. Например:
strsplit(words[2], ".")
[[1]]
[1] "my"
РЕДАКТИРОВАТЬ: добавлены числа как класс, который также нужно разделить