繁体   English   中英

查找字符串中的空格数

Find the number of spaces in a string

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

如何根据空间创建不同的列,例如:“我要出去”

ANs 3
Column1 Column2 Column3 Column14 
I          am     going    out
4 个回复

如果您想要实际的列值,如您的示例所示,那么您可以从文本连接中读取表:

> read.table(textConnection("I am going Out"))
  V1 V2    V3  V4
1  I am going Out

要回答你的问题的标题,即有多少个空格,你可以使用ncol来计算上面的列,然后减去一个。 但是,如果您对空格数感兴趣,则以下更有效:

length(gregexpr(" ", "I am going Out")[[1]])

这使用正则表达式来搜索空格。

[[1]]获取结果列表的第一个元素,它对应于输入向量的第一个项目,其中“我要外出”作为其唯一元素。 如果你在那里传递了一个不同的向量,你的列表可能有多个元素,或者根本没有一个空向量。

如果没有空格, gregexpr仍将返回长度为1的列表,其中-1为匹配位置,表示没有匹配。 这会导致上述代码在这种情况下错误地报告一个结果。 一个更精细的解决方案,处理它并接受矢量作为输入,如下:

countSpaces <- function(s) { sapply(gregexpr(" ", s), function(p) { sum(p>=0) } ) }

该函数的工作原理如下: gregexpr将返回结果列表 ,每个元素对应一个输入向量 s元素。 sapply将迭代该列表,并为列表的每个元素计算匹配数。 它不是计算匹配位置矢量的length ,而是使用sum来仅计算非负值,从而丢弃由失败匹配引起的任何-1 在该总和中发生从FALSE/TRUE0/1的隐式转换。 sapply的结果将再次成为一个向量,因此很好地匹配输入向量。

此函数可用于重写数据框,如一条注释中所要求的那样。 所以假设你有一个名为foo的数据框,它在列bar有字符串,应该修改为在新列baz包含这些计数。 你可以这样写

foo <- transform(foo, baz = countSpaces(bar))

另一种方法是使用strsplit函数:

R> strsplit("I am going Out", " ")[[1]]
[1] "I"     "am"    "going" "Out"  

因此,我们将第一个参数 - I am going Out - 分成第二个参数 - 空白区域。 然后我们可以使用length

R> length(strsplit("I am going Out", " ")[[1]])
[1] 4

我必须承认我没有仔细阅读,所以这可能不是你想要的,但可能性是......

x <- "I am going Out"
nchar(x)- nchar(gsub(" ", "", x))

替代MvG的原始建议(尽管不那么漂亮):

as.data.frame(matrix(unlist(strsplit("I am   going Out", "\\s+", perl=TRUE)), nrow=1))

您还可以使用str_countstringr包。 这些都不那么冗长,避免正则表达式会更快一些。

library(stringr)
text = "I am going Out"
#matches regular expression
str_count(text, ' ')

或者,如果你想要更快的东西

#matches literal text
str_count(text, fixed(' '))
1 查找字符串中的字符数和数字

嗨,我有一个表测试如下 我试着找出字符串中数字和字符数的计数 它执行正常给出输出 但我的问题是没有任何选项,不给人手动abcdefghijklmnopqrstuvwxyz和1234567890 ...

4 在字符串中查找字符

所以,我遇到了这个问题,我也不知道如何处理。说我有以下格式的字符串: “ 3 6 9 12 13 15 16” 我正在搜索“ 6”,并且在位置3找到它,然后将其删除。 接下来,我再次搜索6,然后在IndexOf(6)位置找到它(无论是什么位置)。 这次我不想删除它,因为它是16中 ...

6 在字符串递归算法中查找字符数

如果要构建有关以下内容的算法:“我们的字符数未知,并且“ / 0”表示字符串的结尾。我们需要构建一种算法来计算字符串中的字符数。这就是我所做的: 算法NumberOfCharacters(A,l,r) 如果A [l] = /和A [l + 1] = 0 返回l 否则返回Num ...

8 在列表中查找字符串

我试图修改我在SOF上找到的元音代码,发布在下面,我试图将其改为单词列表,以便我可以检查单词是否在列表中。 但是我不断出错: 我不断收到错误,例如对狗和猪的弊端太大,并且它不会产生正确的输出,任何指导都将是很棒的 ...

9 在PHP中查找字符串

我有2个PHP文件-一个带有几个序列号,另一个则检查这些序列号。 我只知道序列的一部分,例如“ 123”-如何获取其余部分? (部分: -unused_ ) 1: 2: ...

2014-10-13 17:48:48 3 56   php
10 查找字符串中的日期

我正在使用一些发现的代码来查找字符串中的日期,并稍作修改以处理两年和四年日期。 它返回我正在搜索的字符串中大多数两位数和四位数的年份日期,但是当字符串包含“ *有效11/3 / 14-11 / 9/14”时不返回结果。 我希望对第一个发现返回“ 11/3/14”,对第二个发现返回“ ...

2014-11-09 18:35:40 1 148   java
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM