我需要提取在一组qoutes之间的字符串的特定部分,并且我需要做到这一点,而又不获取也在qoutes之间的字符串的后续部分。
例如,如果我只想提取此标记标签中viewBox属性之后的qoutes之间的值;
"<svg height=\"512pt\" viewBox=\"-9 0 512 512\" width=\"512pt\" xmlns=\"http://www.w3.org/2000/svg\">"
我希望能够提取各种不同的符号,并且由于这个原因,我尝试在stringr中使用[:print:]命令。但是我无法将提取限制为所需的qoutes集。而且,viewBox只是一个示例,因此对此没有特定的解决方案。
string <- "<svg height=\"512pt\" viewBox=\"-9 0 512 512\" width=\"512pt\" xmlns=\"http://www.w3.org/2000/svg\">"
string %>%
str_extract("(?<= viewBox=\")[:print:]+(?<!\" )")
当前结果是;
"-9 0 512 512\" width=\"512pt\" xmlns=\"http://www.w3.org/2000/svg\">"
而所需的结果是:
"-9 0 512 512"
"
正则表达式查找后,我们可以匹配非双引号()的字符
library(stringr)
str_extract(string, '(?<=viewBox=")[^"]+')
#[1] "-9 0 512 512"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句