ตอบ: จะตรวจสอบได้อย่างไรว่าตัวละครอยู่ในสตริงหรือไม่
คุณสามารถใช้วิธีการต่อไปนี้เพื่อตรวจสอบว่าอักขระอยู่ในสตริงใน R หรือไม่:
วิธีที่ 1: ตรวจสอบว่าอักขระอยู่ในสตริงโดยใช้ Base R หรือไม่
grepl(my_character, my_string, fixed= TRUE )
วิธีที่ 2: ตรวจสอบว่าอักขระอยู่ในสตริงโดยใช้แพ็คเกจ stringr หรือไม่
library (stringr)
str_detect(my_string, my_character)
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติ
ตัวอย่างที่ 1: ตรวจสอบว่าอักขระอยู่ในสตริงโดยใช้ Base R หรือไม่
รหัสต่อไปนี้แสดงวิธีการตรวจสอบว่า “Doug” มีอยู่ในสตริงเฉพาะใน R หรือไม่:
#define character to look for
my_character <- "Doug"
#define string
my_string <- "Hey my name is Douglas"
#check if "Doug" is in string
grepl(my_character, my_string, fixed= TRUE )
[1] TRUE
เนื่องจาก “Doug” มีอยู่ในสตริง ฟังก์ชัน grepl() จึงส่งคืน TRU E
สมมติว่าเราตรวจสอบแทนว่ามี “Steve” อยู่ในสตริงหรือไม่:
#define character to look for
my_character <- "Steve"
#define string
my_string <- "Hey my name is Douglas"
#check if "Steve" is in string
grepl(my_character, my_string, fixed= TRUE )
[1] FALSE
เนื่องจากไม่มี “Steve” ในสตริง ฟังก์ชัน grepl() จึงส่งคืน FALSE
ตัวอย่างที่ 2: ตรวจสอบว่าอักขระอยู่ในสตริงโดยใช้แพ็คเกจ stringr หรือไม่
รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน str_detect() ของแพ็คเกจ stringr เพื่อตรวจสอบว่าสตริง “Doug” มีอยู่ในสตริงใดสตริงหนึ่งหรือไม่:
library (stringr)
#define character to look for
my_character <- "Doug"
#define string
my_string <- "Hey my name is Douglas"
#check if "Doug" is in string
str_detect(my_string, my_character)
[1] TRUE
ฟังก์ชัน str_detect() ส่งคืน TRUE เนื่องจาก “Doug” อยู่ในสตริง
โปรดทราบว่าเรายังสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อตรวจสอบว่ามีอักขระหลายตัวในสตริงหรือไม่:
library (stringr)
#define vector of characters to look for
my_characters <- c("Doug", "Steve", "name", "He")
#define string
my_string <- "Hey my name is Douglas"
#check if each character is in string
str_detect(my_string, my_characters)
[1] TRUE FALSE TRUE TRUE
จากผลลัพธ์เราจะเห็นได้ว่า:
- “ดั๊ก” มีอยู่ในห่วงโซ่
- “สตีฟ” ไม่มีอยู่ในช่อง
- “ชื่อ” มีอยู่ในสตริง
- “มัน” มีอยู่ในสตริง
ที่เกี่ยวข้อง: วิธีใช้ฟังก์ชัน str_detect() ใน R (3 ตัวอย่าง)
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน R:
วิธีลบอักขระตัวสุดท้ายออกจากสตริงใน R
วิธีค้นหาตำแหน่งอักขระในสตริงใน R
วิธีเลือกคอลัมน์ที่มีสตริงเฉพาะใน R