我有表格中的数据,
+PRODUCT NAME 6CT 144cl
+NEW PRODUCT NAME 72cl
其中包含字符,空格和数字。我只对数字144
和72
感兴趣,但是当我使用grep
并仅提取数字时,我也会从第一行中提取数字6
。
我如何才能提取144cl
和72cl
(或所有数字"附加"到cl
字符串?即144
之间没有空格1}}和cl
答案 0 :(得分:2)
您可以使用stringr
和积极向前看:
stringr::str_extract("+PRODUCT NAME 6CT 144cl", "\\d+(?=cl)")
# [1] "144"
答案 1 :(得分:1)
试试这个:
state = {
animateCls: '',
};
componentDidMount() {
setTimeout(() => this.setState({ animateCls: 'z-logo-reveal'}), 500);
}
render() {
const { animateCls } = this.state;
return (
<div className={animateCls}>
</div>
);
}
答案 2 :(得分:1)
建议您先来确定下一个字符是否确实cl
。
捕获所有内容,包括cl
部分:
x="+PRODUCT NAME 6CT 144cl" "+NEW PRODUCT NAME 72cl"
sub('.*\\s((\\d+)(?>cl)).*','\\1',x,perl = T)
[1] "144cl" "72cl"
如果同一行中有多个cl值,则必须使用gsub
代替sub
。
如果您不需要cl
部分但只需要数字,则不应包括捕获括号:
sub('.*\\s(\\d+)(?>cl).*','\\1',x,perl = T)
[1] "144" "72"