วิธีแยกสตริงหลังจากอักขระเฉพาะใน r
คุณสามารถใช้วิธีการต่อไปนี้เพื่อแยกสตริงหลังจากอักขระเฉพาะใน R:
วิธีที่ 1: แยกสตริงหลังจากอักขระเฉพาะโดยใช้ Base R
sub(' .*the ', '', my_string)
วิธีที่ 2: แยกสตริงหลังจากอักขระเฉพาะโดยใช้ stringr
library (stringr) str_replace(my_string, ' (.*?)the(.*?) ', ' \\1 ')
ทั้งสองตัวอย่างนี้แยกสตริงหลังรูปแบบ “the” ใน my_string
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับกรอบข้อมูลต่อไปนี้:
#create data frame
df <- data. frame (team=c('theMavs', 'theHeat', 'theNets', 'theRockets'),
dots=c(114, 135, 119, 140))
#view data frame
df
team points
1 theMavs 114
2 theHeat 135
3 theNets 119
4 theRockets 140
ตัวอย่างที่ 1: แยกสตริงหลังอักขระเฉพาะโดยใช้ Base R
รหัสต่อไปนี้แสดงวิธีการแยกสตริงหลัง “the” สำหรับแต่ละแถวในคอลัมน์ ทีม ของกรอบข้อมูล:
#create new column that extracts string after "the" in team column df$team_name <- sub(' .*the ', '', df$team) #view updated data frame df team points team_name 1 theMavs 114 Mavs 2 theHeat 135 Heat 3 theNets 119 Nets 4 theRockets 140 Rockets
โปรดทราบว่าคอลัมน์ใหม่ชื่อ team_name มีสตริงหลัง “the” สำหรับแต่ละแถวในคอลัมน์ ทีม ในกรอบข้อมูล
ที่เกี่ยวข้อง : การแนะนำ sub() ใน R
ตัวอย่างที่ 2: แยกสตริงหลังอักขระเฉพาะโดยใช้แพ็คเกจ stringr
รหัสต่อไปนี้แสดงวิธีการแยกสตริงหลัง “the” สำหรับแต่ละแถวในคอลัมน์ ทีม ของกรอบข้อมูลโดยใช้ฟังก์ชัน str_replace() จากแพ็คเกจ stringr ใน R:
library (stringr) #create new column that extracts string after "the" in team column df$team_name <- str_replace(df$team, ' (.*?)the(.*?)', '\\1 ') #view updated data frame df team points team_name 1 Mavs pro team 114 Mavs 2 team Heat pro 135 Heat 3 Nets pro team 119 Nets
โปรดทราบว่าคอลัมน์ใหม่ชื่อ team_name มีสตริงหลัง “the” สำหรับแต่ละแถวในคอลัมน์ ทีม ในกรอบข้อมูล
ซึ่งตรงกับผลลัพธ์ของการใช้ฟังก์ชัน sub() ในฐาน R
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:
วิธีเลือกคอลัมน์ที่มีสตริงเฉพาะใน R
วิธีลบอักขระออกจากสตริงใน R
วิธีค้นหาตำแหน่งอักขระในสตริงใน R