2016-01-21 2 views
1

Учитывая строку,strsplit пробелами больше единицы в R

mystr = "Average student score  88" 

Я хотел бы разделить, если есть больше чем 1 пространство. Я хочу получить следующее:

"Average student score" "88" 

Я искал, что «\ s +» будет разбиваться на любое количество пробелов.

strsplit(mystr, "\\s+") 

Но это не то, что я хочу. Есть ли какой-либо вариант в strsplit, который может разбивать строки на основе определенного количества пробелов (скажем, space = k) или правила на пространствах (например, space> 1)?

+0

Другим вариантом является 'scan (text = gsub (" \\ s {2,} ",", ", mystr), what = '', sep = ',', quiet = TRUE)' – akrun

+1

Провести время чтения страница справки '? regex'. –

ответ

5

Вы можете указать его через квантификатор повторения.

strsplit(mystr, "\\s{2,}") 

\\s{2,} regex должно совпадать с двумя или более пробелами.

+0

Спасибо! Есть ли опция для сопоставления точного числа пробелов? – user2498497

+5

ya, удалите запятую. '\\ s {2}' для сопоставления ровно двух пространств, для 3 это будет '\\ s {3}', и для соответствия min 3 и max 4, тогда это будет '\\ s {3, 4} ' –

Смежные вопросы