作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想从一个非常奇怪的字符串中解析出一个 ISIN,我的代码如下所示:
> df <- fread("C:/Users/WZHPCH/Desktop/Error Messages/df.csv", sep=";", stringsAsFactors=FALSE)
> dput(df)
structure(list(ID = c(1L, 2L, 4L, 2L, 3L, 24L), VAL = c("TES+XS0255015603+ae2s",
"TEST*XS0255015603+d2aasd", "safd*adf*XS0255015603++", "gasdfs*dsa*US0917971006",
"asdfsUS0917971006adf", "sd-asd-afds-US0917971006")), .Names = c("ID",
"VAL"), row.names = c(NA, -6L), class = c("data.table", "data.frame"
), .internal.selfref = <pointer: 0x0000000000110788>)
> df$parsedISIN <- gsub("^[a-zA-Z]{2}[0-9]{10}$", '\\1', df$VAL)
最佳答案
这里有几个问题:
1) 即使问题使用了 dput
该对象中有一个指针,因此它不能在其他系统上使用。我已经编辑了要给出的指针:
df <-
structure(list(ID = c(1L, 2L, 4L, 2L, 3L, 24L), VAL = c("TES+XS0255015603+ae2s",
"TEST*XS0255015603+d2aasd", "safd*adf*XS0255015603++", "gasdfs*dsa*US0917971006",
"asdfsUS0917971006adf", "sd-asd-afds-US0917971006")), .Names = c("ID",
"VAL"), row.names = c(NA, -6L), class = c("data.table", "data.frame"))
df.gem$Attributes
.应该是
df$VAL
.
gsub
应该是
sub
因为每个组件中只出现一次。
pat <- ".*([a-zA-Z]{2}[0-9]{10}).*"
sub(pat, "\\1", df$VAL)
[1] "XS0255015603" "XS0255015603" "XS0255015603" "US0917971006" "US0917971006"
[6] "US0917971006"
pat
:
.*([a-zA-Z]{2}[0-9]{10}).*
strapplyc
在
gsubfn直接提取模式。在这种情况下,正则表达式稍微简化:
library(gsubfn)
strapplyc(df$VAL, "[a-zA-Z]{2}[0-9]{10}", simplify = TRUE)
[a-zA-Z]{2}[0-9]{10}
关于regex - 从字符串中解析出 ISIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28170820/
我是一名优秀的程序员,十分优秀!