R语言 使用regex替换列中的特定值
在这篇文章中,我们将讨论如何在R编程语言中替换数据框架中各列的特定值。
方法1:使用sub()方法
R编程语言中的sub()方法是一种替换方法,用于替换与另一个字符串匹配的模式的任何出现。它是在数据框架的列或向量上操作的。在大数据集的情况下,它特别有用。它可以用来替换一个字符或由指定数据框架列中的一个或多个单词组成的两个字符串。
语法
sub (pattern , new_string , df$col-name)
参数:
- pattern – 正则表达式,或者要替换的字符串。模式中的*表示一个或多个字符。
- new_string – 替换为匹配的字符串。
- df$col-name – 所需的列名
例1 :
# declaring dataframe
data_frame <- data.frame(col1 = c("geeks","for","geek","friends"))
print ("Original DataFrame")
print (data_frame)
data_framecol1 <- sub("^ge.*", "new_String", data_framecol1)
print ("Modified DataFrame")
print (data_frame)
输出
[1] "Original DataFrame"
col1
1 geeks
2 for
3 geek
4 friends
[1] "Modified DataFrame"
col1
1 new_String
2 for
3 new_String
4 friends
这个方法只替换主线中第一个出现的指定字符串。
例2 :
# declaring dataframe
data_frame <- data.frame(col1 = c("geeks for geeks interviews",
"suitable 4 placements",
"interviews placements interviews"))
print ("Original DataFrame")
print (data_frame)
data_framecol1 <- sub("interviews", "programming", data_framecol1)
print ("Modified DataFrame")
print (data_frame)
输出
[1] "Original DataFrame"
col1
1 geeks for geeks interviews
2 suitable 4 placements
3 interviews placements interviews
[1] "Modified DataFrame"
col1
1 geeks for geeks programming
2 suitable 4 placements
3 programming placements interviews
方法2:使用gsub()方法
gsub( )方法与sub()方法类似。然而,它可以使用正则表达式进行替换。它还可以替换行中出现的所有特定单词。
语法
gsub (pattern , new_string , df$col-name)
参数:
- pattern – 正则表达式,或者要替换的字符串
- new_string – 替换为匹配的字符串
- df$col-name – 所需的列名
例1 :
# declaring dataframe
data_frame <- data.frame(col1 = c("geeks","for","friends","gap","geek"))
print ("Original DataFrame")
print (data_frame)
data_framecol1 <- gsub("^\\ge.*", "new_String", data_framecol1)
print ("Modified DataFrame")
print (data_frame)
输出
[1] "Original DataFrame"
col1
1 geeks
2 for
3 friends
4 gap
5 geek
[1] "Modified DataFrame"
col1
1 new_String
2 for
3 friends
4 gap
5 new_String
gsub()方法可以用来替换某一列的所有出现的数据。
例2 :
# declaring dataframe
data_frame <- data.frame(col1 = c("geeks","for","friends","gap","geek"))
print ("Original DataFrame")
print (data_frame)
data_framecol1 <- gsub(".*^","GFG ",data_framecol1)
print ("Modified DataFrame")
print (data_frame)
输出
[1] "Original DataFrame"
col1
1 geeks
2 for
3 friends
4 gap
5 geek
[1] "Modified DataFrame"
col1
1 GFG geeks
2 GFG for
3 GFG friends
4 GFG gap
5 GFG geek
它也可以用来从数值的字符串成分中删除数字。
例3 :
# declaring dataframe
data_frame <- data.frame(col1 = c("geeks12 is good","suitable 4 placements",
"love you 2 much"))
print ("Original DataFrame")
print (data_frame)
data_framecol1 <- gsub("[0-9]*", "", data_framecol1)
print ("Modified DataFrame")
print (data_frame)
输出
[1] "Original DataFrame"
col1
1 geeks1
2 is good 2 suitable 4 placements
3 love you 2 much
[1] "Modified DataFrame"
col1
1 geeks is good
2 suitable placements
3 love you much