gpt4 book ai didi

r - 计算字符串开头有多少个空格

转载 作者:行者123 更新时间:2023-12-04 02:37:07 24 4
gpt4 key购买 nike

我想知道一个字符串以多少个空格开头。以下是一些示例:

string.1 <- "    starts with 4 spaces"
string.2 <- " starts with only 2 spaces"

我的尝试如下,但这两种情况下都会导致 1,我理解为什么会这样。

stringr::str_count(string.1, "^ ")
stringr::str_count(string.2, "^ ")

如果有完全像这样但使用另一个正则表达式的解决方案,我会更喜欢。

最佳答案

^ 模式匹配字符串开头的单个空格,这就是两个测试用例返回 1 的原因。

要匹配字符串开头的连续空格,您可以使用

stringr::str_count(string.1, "\\G ") 

或者,计算任何空格,

stringr::str_count(string.1, "\\G\\s") 

参见 R demo

由于\G anchor\G 模式匹配开始处的一个空格和成功匹配后的每个空格。 .

另一种方法:计算 ^\s+ 匹配的长度(字符串开头的 1 个或多个空白字符):

strings <- c("    starts with 4 spaces", "  starts with only 2 spaces")
matches <- regmatches(strings, regexpr("^\\s+", strings))
sapply(matches, nchar)
# => 4 2

关于r - 计算字符串开头有多少个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61206034/

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