এখানে কয়েকটি উপায় রয়েছে:
1) সাব
sub(".*:", "", string)
## [1] "E001" "E002" "E003"
2) স্টারস্প্লিট
sapply(strsplit(string, ":"), "[", 2)
## [1] "E001" "E002" "E003"
3) পঠনযোগ্য
read.table(text = string, sep = ":", as.is = TRUE)$V2
## [1] "E001" "E002" "E003"
4) সাবস্ট্রিং
এটি ধরে নিয়েছে যে দ্বিতীয় অংশটি সর্বদা চতুর্থ অক্ষর থেকে শুরু হয় (যা প্রশ্নের উদাহরণের ক্ষেত্রে এটি):
substring(string, 4)
## [1] "E001" "E002" "E003"
4 এ) সাবস্ট্রিং / রেজেেক্স
যদি কোলন সর্বদা পরিচিত অবস্থানে না থাকে তবে আমরা এটি অনুসন্ধান করে (4) সংশোধন করতে পারি:
substring(string, regexpr(":", string) + 1)
5) strapplyc
strapplyc প্রথম অংশটি ফেরত দেয়:
library(gsubfn)
strapplyc(string, ":(.*)", simplify = TRUE)
## [1] "E001" "E002" "E003"
6) read.dcf
এই শুধুমাত্র তখনই কাজ করে যদি কোলনের পূর্বে সাবস্ট্রিংগুলি অনন্য (যা তারা প্রশ্নের উদাহরণে থাকে)। এছাড়াও এটির পৃথককারীটি কোলন হওয়ার প্রয়োজন (যা এটি প্রশ্নে রয়েছে)। যদি কোনও আলাদা বিভাজক ব্যবহৃত হয় তবে আমরা subপ্রথমে একটি কোলন দিয়ে এটি প্রতিস্থাপন করতে ব্যবহার করতে পারি। উদাহরণস্বরূপ, যদি বিভাজক ছিল _তারপরstring <- sub("_", ":", string)
c(read.dcf(textConnection(string)))
## [1] "E001" "E002" "E003"
7) পৃথক
A এ) ব্যবহার করে tidyr::separateআমরা দুটি কলাম সহ একটি ডেটা ফ্রেম তৈরি করি, একটিটি কোলনের আগে অংশের জন্য এবং একটি পরে থাকে এবং তারপরে পরবর্তীটি বের করে আনে।
library(dplyr)
library(tidyr)
library(purrr)
DF <- data.frame(string)
DF %>%
separate(string, into = c("pre", "post")) %>%
pull("post")
## [1] "E001" "E002" "E003"
7 বি) পর্যায়ক্রমে separateকেবল postকলাম তৈরি করতে এবং তারপরে unlistএবং unnameফলাফল ডেটা ফ্রেম ব্যবহার করা যেতে পারে :
library(dplyr)
library(tidyr)
DF %>%
separate(string, into = c(NA, "post")) %>%
unlist %>%
unname
## [1] "E001" "E002" "E003"
8) ছাঁটাই আমরা trimwsবাম দিকে শব্দের অক্ষর ছাঁটাই করতে ব্যবহার করতে পারি এবং তারপরে এটি আবার কোলনটি ছাঁটাই করতে ব্যবহার করতে পারি ।
trimws(trimws(string, "left", "\\w"), "left", ":")
## [1] "E001" "E002" "E003"
বিঃদ্রঃ
ইনপুটটি stringধরে নেওয়া হয়:
string <- c("G1:E001", "G2:E002", "G3:E003")
_যা বিভাজক হিসাবে ছিল এবং @ গ্রোথেনডিক উত্তরটির উপর ভিত্তি করে উপসর্গ এবং প্রত্যয়টির জন্য দুটি পৃথক ভেরিয়েবল তৈরি করেছিল:prefix <- sub("_.*", "", variable)এবংsuffix <- sub(".*_", "", variable)