gpt4 book ai didi

regex - 根据特定值创建新变量

转载 作者:行者123 更新时间:2023-12-02 07:53:01 25 4
gpt4 key购买 nike

我阅读了正则表达式以及 Hadley Wickham 的 stringrdplyr 包,但不知道如何让它工作。

我在数据框中有图书馆流通数据,索书号作为字符变量。我想将首字母大写字母作为一个新变量,并将字母和句点之间的数字作为第二个新变量。

Call_Num
HV5822.H4 C47 Circulating Collection, 3rd Floor
QE511.4 .G53 1982 Circulating Collection, 3rd Floor
TL515 .M63 Circulating Collection, 3rd Floor
D753 .F4 Circulating Collection, 3rd Floor
DB89.F7 D4 Circulating Collection, 3rd Floor

最佳答案

使用stringi包,这将是一种选择。由于您的目标位于字符串的开头,因此 stri_extract_first() 效果很好。 [:alpha:]{1,} 表示包含多个字母的字母序列。使用stri_extract_first(),您可以识别第一个字母序列。同样,您可以使用 stri_extract_first(x, regex = "\\d{1,}") 查找第一个数字序列。

x <- c("HV5822.H4 C47 Circulating Collection, 3rd Floor",
"QE511.4 .G53 1982 Circulating Collection, 3rd Floor",
"TL515 .M63 Circulating Collection, 3rd Floor",
"D753 .F4 Circulating Collection, 3rd Floor",
"DB89.F7 D4 Circulating Collection, 3rd Floor")

library(stringi)

data.frame(alpha = stri_extract_first(x, regex = "[:alpha:]{1,}"),
number = stri_extract_first(x, regex = "\\d{1,}"))

# alpha number
#1 HV 5822
#2 QE 511
#3 TL 515
#4 D 753
#5 DB 89

关于regex - 根据特定值创建新变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31259619/

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