gpt4 book ai didi

regex - R中的正则表达式删除第一个空格后的所有字符?

转载 作者:行者123 更新时间:2023-12-04 01:28:28 27 4
gpt4 key购买 nike

我在 R 中有数据,看起来像这样:

USDZAR Curncy
R157 Govt
SPX Index

换句话说,一个词,在这种情况下是彭博证券标识符,后跟另一个词,即证券类,用空格分隔。我想去掉类(class)和空间:
USDZAR
R157
SPX

在 R 中执行此操作的最有效方法是什么?是正则表达式还是我必须像在 MS Excel 中使用 mid 和 find 命令那样做一些事情?例如在 Excel 中,我会说:
=MID(@REF, 1, FIND(" ", @REF, 1)-1)

这意味着返回一个从字符 1 开始并以第一个空格的字符号结尾的子字符串(减去 1 以删除实际空格)。

我是否需要在 R 中做类似的事情(在这种情况下,什么是等价的),或者正则表达式在这里有帮助吗?谢谢。

最佳答案

1) 试试这个,正则表达式匹配一个空格,后跟任何字符序列和 sub将其替换为具有零个字符的字符串:

x <- c("USDZAR Curncy", "R157 Govt", "SPX Index")
sub(" .*", "", x)
## [1] "USDZAR" "R157" "SPX"

2) 如果您希望在数据框中的不同列中使用两个单词,另一种方法如下。这里 as.is = TRUE使列成为字符而不是因子。
read.table(text = x, as.is = TRUE)
## V1 V2
## 1 USDZAR Curncy
## 2 R157 Govt
## 3 SPX Index

关于regex - R中的正则表达式删除第一个空格后的所有字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6240026/

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