我有俄语的字符向量。请参阅下面的示例向量 -
x = "nНозологические единицы \r\n В20 Болезнь, вызванная вирусом иммунодефицита человека [ВИЧ], проявляющаяся в виде \r\nинфекционных и паразитарных болезней \r\n В21 Болезнь, вызванная вирусом иммунодефицита человека [ВИЧ], проявляющаяся в виде \r\nзлокачественных новообразований \r\n В22 Болезнь, вызванная вирусом иммунодефицита человека [ВИЧ], проявляющаяся в виде \r\nдругих уточненных болезней \r\n В78.1 Болезнь, вызванная вирусом иммунодефицита человека [ВИЧ], проявляющаяся в виде \r\nдругих состояний \r\n В24 Болезнь, вызванная вирусом иммунодефицита человека [ВИЧ], неуточненная \r\n Z21 Бессимптомный инфекционный статус, вызванный вирусом иммунодефицита человека"
我想提取这些值 - B20,B21,B22,B78.1,B24,Z21 。我使用下面的代码 -
gsub("[^0-9A-Za-z///' ]", "", x)
但是它返回了错误的结果。
[1] "n 20 21 22 781 24 Z21 "
答案 0 :(得分:1)
这是一个基本R方法,使用regmatches
返回位置,unlist(regmatches(x, gregexpr("[ВZ][27][[:digit:].]+", x)))
[1] "В20" "В21" "В22" "В78.1" "В24" "Z21"
提取文本的匹配部分。
utfToInt
请注意,“B”不是标准的ascii“B”。我从矢量中复制并粘贴了一个以使其工作。您可以使用utf8ToInt("B")
[1] 66
:
ascii“B”:
utf8ToInt("В")
[1] 1042
x中的“B”
<button type="button" name="<?php echo'edit[$i]'; ?>" class="btn btn-primary">Edit</button>
答案 1 :(得分:1)
使用stringr
,您可以将str_extract_all
与此正则表达式一起使用
x = "nНозологические единицы \r\n В20 Болезнь, вызванная вирусом иммунодефицита человека [ВИЧ], проявляющаяся в виде \r\nинфекционных и паразитарных болезней \r\n В21 Болезнь, вызванная вирусом иммунодефицита человека [ВИЧ], проявляющаяся в виде \r\nзлокачественных новообразований \r\n В22 Болезнь, вызванная вирусом иммунодефицита человека [ВИЧ], проявляющаяся в виде \r\nдругих уточненных болезней \r\n В78.1 Болезнь, вызванная вирусом иммунодефицита человека [ВИЧ], проявляющаяся в виде \r\nдругих состояний \r\n В24 Болезнь, вызванная вирусом иммунодефицита человека [ВИЧ], неуточненная \r\n Z21 Бессимптомный инфекционный статус, вызванный вирусом иммунодефицита человека"
stringr::str_extract_all(x, "[:alpha:][[:digit:]\\.]+")
#> [[1]]
#> [1] "В20" "В21" "В22" "В78.1" "В24" "Z21"
关于正则表达式:
[:alpha:]
表示任何字母字符[[:digit:]\\.]
后跟任何数字或.
字符+
前一次或多次当您要提取的内容发生更改时更改正则结构