Это упражнение, которое я выполняю, и мне даны следующие инструкции:
Придумайте стратегию, которая разделяет знаки препинания или пробелы, за исключением того, что она сохраняет неизменными слова, такие как «Я» или « не было ", которые имеют знак препинания посередине между двумя буквами. (Или когда знак препинания стоит в начале, как в "em", или когда в начале стоит знак доллара.) Примените свою стратегию к trump.words, как определено ниже, чтобы отображались только те слова со знаками препинания и / или знаки доллара. При использовании этой стратегии ответом на упражнение должно быть 102 [не обязательно уникальных, но всего] слова.
Моя попытка ввода кода / строки:
trump.lines = readLines("http://www.stat.cmu.edu/~pfreeman/trump.txt")
my.pattern=("([a-z]|[A-Z]){0,}([[:punct:]]|$){1,}([[:alnum:]]{1,})")
exp=regexpr(my.pattern,trump.lines,useBytes=TRUE)
regmatches(trump.lines,exp)
Результат:
[1] "would've" "carefully-crafted" "Administration's"
[4] "nation's" ",000" "border-crosser"
[7] "I've" "African-American" "$800"
[10] "$19" "$150" "America's"
[13] "Let's" "Clinton's" "nation's"
[16] "Clinton's" "won't" "\"extremely"
[19] "America's" "we're" "don't"
[22] "there's" "African-American" "it's"
[25] "America's" "won't" "It's"
[28] "I'm" "nearly-one" "China's"
[31] "it's" "China's" "we'll"
[34] "Middle-income" "highest-taxed" "$2"
[37] "that's" "We're" "ten-point"
[40] "I'm" "I'll" "I'm"
[43] "he'd" "there's" "It's"
[46] "can't" "don't" "\"I"
Одна из проблем, которые я обнаружил в своем коде, заключается в том, что в исходном текстовом файле их шесть, в то время как я выдал только 3, я не понимаю, как это будет возможно. Любая помощь или общий толчок в правильном направлении приветствуются.