问题标签 [stringr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - R 如果字符串包含数字、空格等
我想检查 R 中的字符串是否具有这种格式
即四个数字(N代表任何数字[0,9]),两个下划线,3个数字。
有什么帮助吗?
非常感谢
r - 仅包含一种字符的 R 字符串
我想检查一个字符串是否只包含一种类型的字符
例如
结果是 TRUE ,grepl(char,str)
但我希望它是 FALSE。
非常感谢
regex - 匹配以已知模式开头的单词
我正在努力匹配一个以已知模式开头并以空格或字符串结尾结尾的整个单词。我想我有这个词的模式:
我不明白的是如何定义单词的边界。有四种可能的情况需要考虑:
- 我的网址在字符串的开头
- 我的网址在字符串的末尾
- 我的 URL 前面有一些其他标记
- 我的 URL 后跟一些其他令牌
在所有四种情况下,我的模式应该只匹配 URL,从头到尾。
到目前为止,一切都很好...
第一个问题,尾随空格也匹配
第二个问题所有尾随词都匹配
r - R 正则表达式:如何获得完全匹配的字符串
我正在尝试从 R 中获取完整的 RegEx 匹配,但我似乎只能获取字符串的第一部分。
使用http://regexpal.com/我可以确认我的 RegEx 是好的并且它符合我的期望。在我的数据中,“错误类型”位于星号前面的数字和下一个逗号之间。所以我希望"*20508436572 access forbidden by rule"
在第一个实例和"*20508436572 some_error"
第二个实例中返回。
例子:
结果:
如您所见,较长的匹配被截断,但较短的匹配被正确解析。
我在这里遗漏了什么,还是有其他方法可以恢复完整的比赛?
干杯,
安迪。
r - R中的字符串拆分选项
我想问一个与R中字符串拆分选项相关的问题。据我所知,我可以看到三个选项。strsplit()
在基地,str_split()
在stringr
包装中,separate()
在tidy
包装中。我想知道它们与编程的观点有何不同。鉴于我没有受过程序员培训,这句话可能不清楚。让我给你举个例子。在过去,我了解了包中rbind()
和rbindlist()
中的区别。data.table
(为什么 rbindlist 比 rbind “更好”?)。这对我来说是很棒的学习。我想知道哪个字符串选项比其他选项更好,就像这篇与rbind()
and相关的帖子一样rbindlist()
。我希望这个例子能澄清我想问的问题。感谢您抽出宝贵的时间。
r - 从字符串中删除 URL
我在 R 中有一个字符串向量——<code>myStrings——看起来像:
哪里another url
是一个有效的 http url,但 stackoverflow 不会让我插入多个 url,这就是我写的原因another url
。我想删除所有网址,myStrings
使其看起来像:
我已经尝试了stringr
包中的许多功能,但没有任何效果。
r - 使用 stringr 的 word() 重复和分组一个句子
这是一个有趣的。我正在努力做这篇文章正在做的事情。也就是说,重复和分组单词。
这个问题的问题是我想纯粹使用带有包装器stringr
的 '函数来完成它。采取以下word()
paste0
sentence
确切的结果是
我已经做到了这一点,但是在这个字符串的末尾word()
留下了一个额外""
的内容,这可能是由于我编写代码的方式,word()
因为它不会留下一个空字符串。
这可以在没有尾随的情况下", "
仅使用word()
函数来完成吗?
r - 从字符串中提取数字作为R中的数字或日期
我正在处理一些 hdf5 数据集。但是,日期存储在文件中,文件名中没有这些日期的提示。属性文件由年中的日、年中的月、月中的日和年列组成。我想提取数据为每个文件创建时间序列标识,即可用于时间序列的年月日期格式。可以在此处下载数据样本:
有一个属性组文件和一个数据组文件。我使用R库“rhdf5”来探索 hdf5 文件。例如
读取时的 Attr 包含一个长字符串,唯一需要的信息是“2007-08-31”,即获取日期。我已经能够使用 Stringr 库来提取它:
它将日期返回为:
现在剩下的唯一问题是日期未被识别为数字或日期。如何更改此设置,因为我需要将日期与所有日期的数据绑定以创建时间序列(更像是标识符,因为数据集是不规则的),好吗?下面是从字符串中提取日期并与每个日期的 CO 值绑定后的外观示例
但是,R将这些日期识别为字符而不是日期。我需要将它们转换为我可以使用的时间序列。
r - 检测字符串中的重复项
看起来我在处理 R 中的字符串时遇到了另一个问题......
我所追求的很简单,但我还没有找到一种方法,尽管在这里和其他地方搜索了很多小时。
基本上,我在数据表中有一个列(“唯一 ID”),其中包含我想要根据它是否包含同一个单词的多个实例来分类的一串单词。
我的数据快照是:
使用上面的示例数据,我将为那些仅包含同一个单词的多个实例的字符串创建一个带有标志的新列。
因此,第 1、2、5、6 行都将在此方法下被标记。
我考虑过使用 stringr 包中的 str_count 函数,但这需要我指定要检测的模式,而我只对字符串中是否多次出现任何单词感兴趣。无论如何,我事先不知道这些词会是什么,所以不能指定某种列表来引用。
再次感谢任何帮助!
regex - r regex Lookbehind Lookahead 问题
我尝试从 R 中的文本中提取像44.11.36.00-1
(准确地说,nn.nn.nn.nn-n
代表n
0-9 之间的任何数字)这样的段落。
如果段落“粘”在非数字标记上,我想提取它们:
44.11.36.00-1
从中提取nsfghstighsl44.11.36.00-1vsdfgh
是可以的44.11.36.00-1
提取自fa0044.11.36.00-1000
is NOT
我读过那str_extract_all
不适用于Lookbehind
andLookahead
表达式,所以我很遗憾地回到了grep
,但无法处理它:
这不是我预期的结果。
我以为:
(?<![0-9]{1})
意思是“匹配前面没有数字的表达式”[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}-[0-9]{1}
代表我寻求的表达(?![0-9]{1})
意思是“匹配不带数字的表达式”