@Matthew_Plourde के समान gsub
हालांकि, एक पैटर्न का उपयोग करना जो शून्य वर्णों को ट्रिम कर देगा अर्थात "" यदि मूल स्ट्रिंग को काटने के लिए वर्णों की संख्या से कम है:
cs <- c("foo_bar","bar_foo","apple","beer","so","a")
gsub('.{0,3}$', '', cs)
# [1] "foo_" "bar_" "ap" "b" "" ""
अंतर है, {0,3}क्वांटिफायर 0 से 3 मैचों को इंगित करता है, जबकि इसके {3}लिए ठीक 3 मैचों की आवश्यकता होती है अन्यथा कोई मैच नहीं पाया जाता है, जिस स्थिति gsubमें मूल, अनमॉडल स्ट्रिंग लौटाता है।
एनबी का उपयोग {,3}करने के बराबर होगा {0,3}, मैं बस बाद के अंकन को पसंद करता हूं।
Regex quantifiers के बारे में अधिक जानकारी के लिए यहां देखें: https : // www. अनियमित-expressions.info/refrepeat.html
-3करने के-0लिए बदलना पड़ा! मेरे पास तारीखों के साथ बहुत सारे डेटा हैं, जैसे:"2014-03-27 23:00:00 GMT" "2014-03-31 00:00:00 BST"- हाँ, दो टाइमज़ोन एक साथ, और as.Date फ़ंक्शन अप्रत्याशित परिणाम (BST तिथियों के लिए एक दिन पहले) लौट रहा है - इसलिए मैं टाइमज़ोन स्टैम्प को हटाना चाहता था, मुझे पता है कि मुझे करना होगा करते हैं-0और यह गायब हो जाता है, एक साथ घंटे