Как найти и извлечь слова с заглавной буквы из текста в r [duplicate]

Повторить стандартную осторожность, когда кто-то предлагает переписывать историю (или в этом случае историю перезаписи), - если вы можете избежать этого, не делайте этого.

Однако, не стоит долговременной боли в неточной (беспорядочной) истории, и краткосрочная боль стоит того.

Если это так, в следующей статье приведены необходимые шаги: Как переименовать тег уже нажат на удаленный git Repo .

Основные шаги:

git tag new_tag old_tag
git push --tags
git push origin :refs/tags/old_tag
git tag -d old_tag

0
задан W W 15 September 2017 в 13:00
поделиться

4 ответа

Мы можем использовать str_extract для соответствия заглавной ([A-Z]), за которой следует граница слова (\\b), за которым следует один или несколько символов слова

library(stringr)
str_extract_all(text, "\\b[A-Z]\\w+")[[1]]
#[1] "Honda" "Asus" 

Или с gregexpr/regmatches из base R

regmatches(text, gregexpr("\\b[A-Z]\\w+", text))
#[1] "Honda" "Asus" 
4
ответ дан akrun 16 August 2018 в 02:45
поделиться

Я бы сделал так:

const str = "fsfs blabla Honda t Asus";
const regex = /([A-Z]\w+)/g;
const result = [];
let m;
while ((m = regex.exec(str)) !== null) result.push(m[1]);
$('#result').html(JSON.stringify(result));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p id="result"></p>

0
ответ дан Flavio Sousa 16 August 2018 в 02:45
поделиться

В базе R вы можете сделать

grep("^[A-Z]", scan(textConnection("fsfs blabla Honda t Asus"), ""), value=TRUE)
Read 5 items
[1] "Honda" "Asus" 

Здесь scan читает текст и разбивает его пробелом. Затем grep со значениями = TRUE возвращает все элементы в символьном векторе, которые соответствуют подвыражению «^ [AZ]», которое может быть прочитано «начинается с заглавной буквы».

Вместо scan , вы можете использовать strsplit / unlist для того же результата.

grep("^[A-Z]", unlist(strsplit("fsfs blabla Honda t Asus", " ")), value=TRUE)
4
ответ дан lmo 16 August 2018 в 02:45
поделиться

Вот решение без регулярных выражений:

text <- "fsfs blabla Honda t Asus"
x <- strsplit(text, " ", T)[[1]]
x[substr(x, 1, 1) %in% LETTERS]
# [1] "Honda" "Asus" 
3
ответ дан lukeA 16 August 2018 в 02:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: