Regex 从数字和文本字符串中提取数字
我在R中有一个data.frame,其中有一列包含形式为{some letters}-{a number}{a letter}的字符串,例如,Regex 从数字和文本字符串中提取数字,regex,r,text-extraction,Regex,R,Text Extraction,我在R中有一个data.frame,其中有一列包含形式为{some letters}-{a number}{a letter}的字符串,例如,x用于提取子字符串。使用as.numeric将结果字符串转换为数字: string = 'KFKGDLDSKFDSKJJFDI-4567W' as.numeric(regmatches(string, regexpr('\\d+', string))) # 4567 您可以轻松地使用此选项在数据框中创建新列: #data = data.frame(x =
x用于提取子字符串。使用as.numeric
将结果字符串转换为数字:
string = 'KFKGDLDSKFDSKJJFDI-4567W'
as.numeric(regmatches(string, regexpr('\\d+', string)))
# 4567
您可以轻松地使用此选项在数据框中创建新列:
#data = data.frame(x = rep(string, 10))
transform(data, y = as.numeric(regmatches(x, regexpr('\\d+', x))))
# x y
# 1 KFKGDLDSKFDSKJJFDI-4567W 4567
# 2 KFKGDLDSKFDSKJJFDI-4567W 4567
# 3 KFKGDLDSKFDSKJJFDI-4567W 4567
# 4 KFKGDLDSKFDSKJJFDI-4567W 4567
…
试试这个:
gsub("[a-zA-Z]+-([0-9]+)[a-zA-Z]","\\1", "KFKGDLDSKFDSKJJFDI-4567W")
gsub(“[^0-9]+”,“,”KKGDLDSKJJFDI-4567W”)
?