从字符串变量中提取数字格式

时间:2017-03-04 17:49:13

标签: database

我正在处理一个在R中有超过45,000个变量的数据集。我正在尝试从标题列创建一个新列。以下是标题栏的两个示例:

DIRECTIVE **2001/110/CE** DU CONSEIL DU 20 D<U+00C9>CEMBRE 2001 RELATIVE AU MIEL

Directive **2010/33/UE** de la Commission du 21<U+00A0>mai 2010 rectifiant la version espagnole de la directive<U+00A0>2001/112/CE du Conseil relative aux jus de fruits et <U+00E0> certains produits similaires destin<U+00E9>s <U+00E0> l'alimentation humaine

我想从粗体数据中创建一个新列,但不知道如何让R读取数据并对其进行排序。

1 个答案:

答案 0 :(得分:0)

有两种方法。可扩展性更高的方式可能是使用正则表达式。

我试图创建一个正则表达式,但我个人并不擅长它,所以它有一些错误。

regmatches(string, regexpr("\\d{4}\\/\\d{3}/[A-Za-z]{2}", string))

适用于字符串1,但为字符串2提供错误的结果。也许其他人可以改进它。

另一种方法是在标题栏中找到模式。如果第一个单词始终为directive,那么:

 trimws(substr(string,10,21))

会得到更一致的结果。您所要做的就是使用trimws()修剪结果列中的空白区域。