美文网首页
试解"两个引号中间的字符"问题

试解"两个引号中间的字符"问题

作者: p1uxtar | 来源:发表于2019-10-04 18:16 被阅读0次

    昨天小洁老师在用warning信息为例,刷一波字符串技巧的文末提到如何用正则解决此问题。

    今天下午决定试解:

    1. 先将字符串x逐行读取为xl
    2. 包名都在xl的偶数行,提取之;
    3. 最后提取每行中两个引号中间的字符:
    xl <- read_lines(x)
    xl <- xl[seq(2, length(xl), 2)]
    gsub(".*‘([^’]*).*", "\\1", xl)
    

    关于正则的思路,因为昨天的问题中是中文单引号,可以区分左右,故此问题可理解为,从左引号后第一个字符开始、到最后一个非右引号的字符。


    若包名两侧为英文单引号,则字符串x直接读取时报错,可先写入文件~/test,思路与上述过程相同,正则略有不同,代码如下:

    x <- read_lines("~/test")
    xl <- read_lines(x)
    xl <- xl[seq(2, length(xl), 2)]
    gsub("[^\']*\'([^\']*).*", "\\1", xl)
    

    相关文章

      网友评论

          本文标题:试解"两个引号中间的字符"问题

          本文链接:https://www.haomeiwen.com/subject/aqsspctx.html