में दो विशिष्ट शब्दों के बीच शब्दों की एक स्ट्रिंग निकालें मैं निम्न स्ट्रिंग है: "PRODUCT colgate good but not goodOKAY"
आर
मैं PRODUCT
और OKAY
में दो विशिष्ट शब्दों के बीच शब्दों की एक स्ट्रिंग निकालें मैं निम्न स्ट्रिंग है: "PRODUCT colgate good but not goodOKAY"
आर
मैं PRODUCT
और OKAY
के बीच सभी शब्दों को निकालने के लिए चाहते हैं तो आप उपयोग कर सकते हैं gsub
:
vec <- "PRODUCT colgate good but not goodOKAY"
gsub(".*PRODUCT\\s*|OKAY.*", "", vec)
# [1] "colgate good but not good"
x = "PRODUCT colgate good but not goodOKAY"
library(stringr)
str_extract(string = x, pattern = perl("(?<=PRODUCT).*(?=OKAY)"))
(?<=PRODUCT)
- PRODUCT
.*
नई लाइनों को छोड़कर सबकुछ मैच करें।
(?=OKAY)
- OKAY
से मेल खाने के लिए आगे देखें।
मुझे यह जोड़ना चाहिए कि आपको इसके लिए stingr
पैकेज की आवश्यकता नहीं है, आधार फ़ंक्शन sub
और gsub
ठीक काम करते हैं। मैं सिंटैक्स की इसकी स्थिरता के लिए स्ट्रिंग का उपयोग करता हूं: चाहे मैं निकालने, प्रतिस्थापन, पहचान आदि कर रहा हूं। फ़ंक्शन नाम अनुमानित और समझा जा सकता है, और तर्क एक निरंतर क्रम में हैं। मैं stringr
का उपयोग करता हूं क्योंकि यह मुझे हर बार प्रलेखन की आवश्यकता से बचाता है।
यह sub
साथ किया जा सकता:
s <- "PRODUCT colgate good but not goodOKAY"
sub(".*PRODUCT *(.*?) *OKAY.*", "\\1", s)
दे रही है:
[1] "colgate good but not good"
कोई पैकेज नहीं की जरूरत है।
.*PRODUCT *(.*?) *OKAY.*
आप qdapRegex पैकेज से rm_between
समारोह इस्तेमाल कर सकते हैं:
यहाँ नियमित अभिव्यक्ति का एक दृश्य है। यह एक स्ट्रिंग और बाएं और दाएं सीमा को निम्नानुसार लेता है:
x <- "PRODUCT colgate good but not goodOKAY"
library(qdapRegex)
rm_between(x, "PRODUCT", "OKAY", extract=TRUE)
## [[1]]
## [1] "colgate good but not good"