Создать функцию в R, чтобы извлечь символ из строки, используя положение?Положение символов определяется по условию паттерна - PullRequest
0 голосов
/ 20 декабря 2018

Я хочу создать функцию, которая извлекает символы из строк, используя substring, но у меня возникли проблемы с поиском end_position для вырезания символа.

Я получил строку, которая хранится в терминах файла журнала, например:

string = ("{\"country\":\"UNITED STATES\",\"country`_`code\":\"US\"}")

Моя идея состоит в том, чтобы определить позицию каждого описания в журнале и вырезать символ позади

start_position = as.numeric(str_locate(string,'\"country\":\"')[,2])
end_position = ??????
country = substring(x,start_position,end_postion)

Знак распознавания конца символа, который я хочу вырезать, - это символ "," в конце.НАПРИМЕР: \"country\":\"UNITED STATES\",

Не могли бы вы, ребята, сказать мне какой-нибудь способ получить позицию "," с условием определенного паттерна впереди?Я намерен позже создать функцию для извлечения символов на основе распознанного шаблона.В данном примере это «страна» и «код страны»

1 Ответ

0 голосов
/ 20 декабря 2018

Вместо использования подстроки взгляните на strsplit, который будет разбиваться в соответствии с шаблоном.

string = ("{\"country\":\"UNITED STATES\",\"country`_`code\":\"US\"})")

strsplit(string,",")[[1]][1]
[1] "{\"country\":\"UNITED STATES\""

Вы можете изменить шаблон с каждым регулярным выражением, которое вам нравится

...