gpt4 book ai didi

regex - 在第一个数字处分割字符串

转载 作者:行者123 更新时间:2023-12-04 13:40:05 26 4
gpt4 key购买 nike

我想在最后一个字母和第一个数字之间分割字符串:

dat <- read.table(text = "
x y
a1 0.1
a2 0.2
a3 0.3
a4 0.4
df1 0.1
df2 0.2
df13 0.3
df24 0.4
fcs111 0.1
fcs912 0.2
fcs113 0.3
fcsb8114 0.4",
header=TRUE, stringsAsFactors=FALSE)

desired.result <- read.table(text = "
x1 x2 y
a 1 0.1
a 2 0.2
a 3 0.3
a 4 0.4
df 1 0.1
df 2 0.2
df 13 0.3
df 24 0.4
fcs 111 0.1
fcs 912 0.2
fcs 113 0.3
fcsb 8114 0.4",
header=TRUE, stringsAsFactors=FALSE)

在StackOverflow上有很多类似的问题,但是我找不到这种确切的情况。我知道这一定是一个基本问题。如果我花几个小时,我可能会弄清楚。对不起。感谢您的任何建议。我更喜欢基数R。如果这是重复的,则可以将其删除。

最佳答案

您可以使用strsplit函数,并为split参数提供正则表达式模式

cbind(dat, do.call(rbind, strsplit(dat$x, split = "(?<=[a-zA-Z])(?=[0-9])", perl = T)))
## x y 1 2
## 1 a1 0.1 a 1
## 2 a2 0.2 a 2
## 3 a3 0.3 a 3
## 4 a4 0.4 a 4
## 5 df1 0.1 df 1
## 6 df2 0.2 df 2
## 7 df13 0.3 df 13
## 8 df24 0.4 df 24
## 9 fcs111 0.1 fcs 111
## 10 fcs912 0.2 fcs 912
## 11 fcs113 0.3 fcs 113
## 12 fcsb8114 0.4 fcsb 8114

关于regex - 在第一个数字处分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19762857/

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