gpt4 book ai didi

regex - R 开始匹配计数

转载 作者:行者123 更新时间:2023-12-04 15:10:56 25 4
gpt4 key购买 nike

我正在使用 R 并具有以下字符串:

s <- "\t\t\t   \t\t\thello    world   !  \t\t\thello"

我只想在字符串的开头获取空格的匹配计数,而不是其他任何地方。所以应该忽略内容之间的空格,只计算开头。结果将是“9”。

我尝试了以下操作,但它只返回“1”的计数......
sapply(regmatches(s, gregexpr('^(\\s)', s)), length)

我不太擅长正则表达式,任何帮助表示赞赏。

最佳答案

为了匹配第一次出现,regexpr()会比gregexpr()更合适.由于该切换,sapply()不再需要,因为 regexpr()返回一个原子向量,而 gregexpr()返回一个列表。

您可以使用以下正则表达式,从 regexpr() 的结果中查看 match.length 属性。 .

attr(regexpr("^\\s+", s), "match.length")
# [1] 9

正则表达式的解释:
  • ^强制正则表达式位于字符串的开头。
  • \\s空格字符:制表符、换行符、垂直制表符、换页、回车和空格。
  • +前一项将匹配一次或多次。

  • 引用: http://en.wikibooks.org/wiki/R_Programming/Text_Processing

    关于regex - R 开始匹配计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27915614/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com