小编jac*_*son的帖子

我应该如何使用strsplit拆分和保留元素?

R中的strsplit函数是什么,匹配并删除给定的正则表达式以将字符串的其余部分拆分为向量.

>strsplit("abc123def", "[0-9]+")
[[1]]
[1] "abc" ""    ""    "def" 
Run Code Online (Sandbox Code Playgroud)

但是我应该如何使用正则表达式以相同的方式拆分字符串,还要保留匹配?我需要以下内容.

>FUNCTION("abc123def", "[0-9]+")
[[1]]
[1] "abc" "123" "def" 
Run Code Online (Sandbox Code Playgroud)

使用strapply("abc123def","[0-9] + | [az] +")在这里工作,但如果正则表达式无法捕获除匹配之外的其余字符串怎么办?

r strsplit

18
推荐指数
2
解决办法
5797
查看次数

R:如何向外搜索向量中的正则表达式?

在R中是否可以在向量中搜索正则表达式,就好像所有元素都是折叠的单个元素一样?如果我们将所有元素折叠成一个来做这个,那么在搜索之后就不可能将它们放回到它们的元素形式.

这是一个向量.

vector<-c("I", "met", "a", "cow")
Run Code Online (Sandbox Code Playgroud)

现在,搜索词是"meta"(元素2和3折叠).

假设我的任务是合并搜索字符串所在的两个元素.

所以我期待的是:

vector = "I", "meta", "cow"
Run Code Online (Sandbox Code Playgroud)

是否有可能做到这一点?请帮忙.

regex r

8
推荐指数
1
解决办法
1037
查看次数

R:在循环向量时使用元素的位置信息.

循环遍历向量时,是否可以使用元素的索引和元素?

a.vector <-c("a","b","c","a","d")

假设我需要a.vector的'first'"a"的索引.一个人无法使用

哪个(a.vector =="a")

因为有两个'a',它将返回两个位置1和4.我需要循环立即覆盖的元素的特定索引.

我需要这样的东西:

b.vector <-c("the","cat","chased","a","mouse")

for (i in a.vector) {
    element<-b.vector[INDEX.OF(a.vector)])
-------some process using both 'element' and "a"-------}
Run Code Online (Sandbox Code Playgroud)

这看起来类似于python中的'enumerate'函数.解决方案会有很大帮助.谢谢.

indexing loops r vector

6
推荐指数
1
解决办法
9145
查看次数

如何修剪和替换字符串

string<-c("       this is a string  ")
Run Code Online (Sandbox Code Playgroud)

是否可以在弦的两侧(或根据需要只是一侧)修剪掉白色空间,并用R中的所需字符替换它?字符串两侧的白色空格数不同,必须在更换时保留.

"~~~~~~~this is a string~~"
Run Code Online (Sandbox Code Playgroud)

regex string r

5
推荐指数
3
解决办法
164
查看次数

R:正常表达'没有跟着'不工作

我需要保留括号中的单词并删除以下字符串中的其他单词.

(A(B(C)d)(E)F)

所以我的期望是(((c))(e)).要删除a,b,d,f,我尝试了"未遵循"正则表达式.

str <- "(a(b(c)d)(e)f)"
gsub("([a-z]+)(?!\\))", "", str) #(sub. anything that isn't followed by a ")" ) 
Run Code Online (Sandbox Code Playgroud)

该消息显示我的正则表达式无效.正如我所看到的,正则表达式"(?!\))"第二部分中的括号不匹配.至于我的编辑器,第一个"("与紧随其后的")匹配",这并不意味着是一个闭包(右边的那个).我可以从我的正则表达式中弄清楚这个错误.你能告诉我实际上有什么问题吗?有没有其他方法可以做到这一点?

regex r

4
推荐指数
1
解决办法
739
查看次数

标签 统计

r ×5

regex ×3

indexing ×1

loops ×1

string ×1

strsplit ×1

vector ×1