2013-06-24 31 views
0

提取我有一個字符串:「開發文檔ID Z585設計號PZ585A2202標記爲」搜索和字符串中的R

我需要提取串的字母數字組成部分:「PZ585A2202」。 嘗試:

p_string <- "Development Document ID Z585 Design No. PZ585A2202 Marked as" 
regexp <- "(([:alnum:]))" 
str_extract(p_string,regexp) 

但很明顯,我得到這個錯誤。有沒有一種方法可以識別字符串的字母數字部分並將其提取出來? 不幸的是,我不知道這個位置,或者它之前或之後的位置。

+0

你至少知道你想要提取的部分的長度?即 - 如何確定結果應該是Z585還是PZ585A2202? – thelatemail

+0

感謝您的回覆,是的,我知道長度。抱歉。忘了在原帖中提到。我需要提取的部分總是10個字符。這是一個系統生成的ID。 – BRZ

+0

旁邊長度有這個ID的任何模式? – dickoa

回答

1

假設該字符串正是10個字符只包含大寫字母和數字,你可以做這樣的事情:

regmatches(p_string, regexpr("([A-Z0-9]{10})", p_string)) 

你可能會誤報,如果字符串包含在所有的超過10個字母的單詞大寫,但除非你有更多的識別特徵(正如評論中提到的那樣),你似乎不太可能做得更好。