相关疑难解决方法(0)

在字符串中的第一个逗号上拆分

如何使用base在第一个逗号上有效地拆分以下字符串?

x <- "I want to split here, though I don't want to split elsewhere, even here."
strsplit(x, ???)
Run Code Online (Sandbox Code Playgroud)

期望的结果(2个字符串):

[[1]]
[1] "I want to split here"   "though I don't want to split elsewhere, even here."
Run Code Online (Sandbox Code Playgroud)

先感谢您.

编辑:没想到要提这个.这需要能够推广到一个列,像这样的字符串向量,如:

y <- c("Here's comma 1, and 2, see?", "Here's 2nd sting, like it, not a lot.")
Run Code Online (Sandbox Code Playgroud)

结果可以是两列或一个长向量(我可以采用其他所有元素)或每个索引([[n]])具有两个字符串的stings列表.

对于缺乏清晰度表示道歉.

regex r

8
推荐指数
2
解决办法
2417
查看次数

R:从字符串中删除最后三个点

我有一个我可能会阅读的文本数据文件readLines.每个字符串的初始部分包含大量的乱码,然后是我需要的数据.乱码和数据通常由三个点分隔.我想在最后三个点之后拆分字符串,或者用某种标记替换最后三个点,告诉R将这三个点左边的所有内容都当作一列.

这是Stackoverflow上的一个类似帖子,它将找到最后一个点:

R:找到字符串中的最后一个点

但是,在我的情况下,一些数据有小数,所以找到最后一个点是不够的.另外,我认为...R中有一个特殊的含义,这可能会使问题复杂化.另一个潜在的复杂因素是一些点比其他点大.此外,在某些行中,三个点中的一个用逗号替换.

除了gregexpr在上面的帖子我尝试过使用gsub,但无法弄清楚解决方案.

这是一个示例数据集和我希望实现的结果:

aa = matrix(c(
'first string of junk... 0.2 0 1', 
'next string ........2 0 2', 
'%%%... ! 1959 ...  0 3 3',
'year .. 2 .,.  7 6 5',
'this_string   is . not fine .•. 4 2 3'), 
nrow=5, byrow=TRUE,
dimnames = list(NULL, c("C1")))

aa <- as.data.frame(aa, stringsAsFactors=F)
aa

# desired result
#                             C1  C2 C3 C4
# 1        first string of junk  0.2  0  1 …
Run Code Online (Sandbox Code Playgroud)

regex r

5
推荐指数
1
解决办法
2314
查看次数

通过第一个冒号提取字符串

我有一个字符串数据集,并希望提取一个子字符串,包括第一个冒号.之前我在这里发帖询问如何提取第一个冒号之后的部分:在第一个冒号处拆分字符串 下面我列出了一些解决当前问题的尝试.

我知道^[^:]+:匹配我想保留的部分,但我无法弄清楚如何提取该部分.

这是一个示例数据集和所需的结果.

my.data <- "here is: some text
here is some more.
even: more text
still more text
this text keeps: going."

my.data2 <- readLines(textConnection(my.data))

desired.result <- "here is:
0
even:
0
this text keeps:"

desired.result2 <- readLines(textConnection(desired.result))

# Here are some of my attempts

# discards line 2 and 4 but does not extract portion from lines 1,3, and 5.
ifelse( my.data2 == gsub("^[^:]+:", "", my.data2), '', my.data2)

# returns the portion I do …
Run Code Online (Sandbox Code Playgroud)

regex string r regex-negation

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

标签 统计

r ×3

regex ×3

regex-negation ×1

string ×1