दिलचस्प पोस्ट
पायथन MySQL पैरामीटरित प्रश्न EditText कर्सर रंग सेट करें इकाई फ़्रेमवर्क प्रसंग लाइफटाइम के बारे में सवाल रनटाइम पर इकाई फ्रेमवर्क परिवर्तन कनेक्शन आप एक स्ट्रिंग में एक jQuery ऑब्जेक्ट कैसे परिवर्तित करते हैं? जावा में संकुल के साथ मदद – आयात काम नहीं करता Matplotlib / PyPlot में फास्ट लाइव प्लॉटिंग कैसे सी में आईओएस ऐप विशुद्ध रूप से लिखने के लिए गिट में एक एसएचए हैश द्वारा एक प्रतिबद्धता पर वापस लौटें? क्या मैं दूसरे के शीर्ष पर एक WPF विंडो को ओवरले कर सकता हूँ? पायथन नाक आयात त्रुटि एंड्रॉइड यूट्यूब ऐप प्ले वीडियो इन्टेंट एक HTML लिंक बनाने के लिए एक फ़ोल्डर खोलने के तरीके क्या हैं पायथन में थ्रेडिंग का उपयोग कैसे करें? CURRENT_DATE / CURDATE () डिफ़ॉल्ट DATE मान के रूप में काम नहीं कर रहा है

स्ट्रिंग से सभी रिक्त स्थान कैसे निकालें?

तो " xx yy 11 22 33 " "xxyy112233" बन जाएगा। इसे कैसे प्राप्त किया जा सकता है?

वेब के समाधान से एकत्रित समाधान "स्ट्रिंग से सभी रिक्त स्थान कैसे निकालें?"

सामान्य तौर पर, हम एक समाधान चाहते हैं जो vectorised है, तो यह एक बेहतर परीक्षण उदाहरण है:

 whitespace <- " \t\n\r\v\f" # space, tab, newline, # carriage return, vertical tab, form feed x <- c( " xy ", # spaces before, after and in between " \u2190 \u2192 ", # contains unicode chars paste0( # varied whitespace whitespace, "x", whitespace, "y", whitespace, collapse = "" ), NA # missing ) ## [1] " xy " ## [2] " ← → " ## [3] " \t\n\r\v\fx \t\n\r\v\fy \t\n\r\v\f" ## [4] NA 

आधार आर दृष्टिकोण: gsub

gsub स्ट्रिंग के सभी उदाहरणों को बदलता है ( fixed = TRUE ) या किसी अन्य स्ट्रिंग के साथ नियमित अभिव्यक्ति ( fixed = FALSE , डिफ़ॉल्ट)। सभी स्थानों को हटाने के लिए, इसका उपयोग करें:

 gsub(" ", "", x, fixed = TRUE) ## [1] "xy" "←→" ## [3] "\t\n\r\v\fx\t\n\r\v\fy\t\n\r\v\f" NA 

जैसा कि डीडब्ल्यूिन ने नोट किया, इस मामले में fixed = TRUE आवश्यक नहीं है, लेकिन थोड़ा बेहतर प्रदर्शन प्रदान करता है क्योंकि एक निश्चित स्ट्रिंग मिलान करना नियमित अभिव्यक्ति से मेल खाने से तेज़ी से होता है।

यदि आप सभी प्रकार की श्वेत स्थान निकालना चाहते हैं, तो इसका उपयोग करें:

 gsub("[[:space:]]", "", x) # note the double square brackets ## [1] "xy" "←→" "xy" NA gsub("\\s", "", x) # same; note the double backslash library(regex) gsub(space(), "", x) # same 

"[:space:]" एक आर-विशिष्ट नियमित अभिव्यक्ति समूह है जो सभी स्थान वर्णों से मेल खाता है। \s एक भाषा-स्वतंत्र नियमित-अभिव्यक्ति है जो एक ही चीज़ करता है


stringr दृष्टिकोण: str_replace_all और str_trim

stringr बेस आर फ़ंक्शंस के चारों ओर अधिक मानव-पठनीय रैपर प्रदान करता है (हालांकि दिसंबर 2014 तक, डेवलपमेंट वर्जन में stringi शीर्ष पर बनाई गई एक शाखा है, जो नीचे उल्लेखित है)। [ str_replace_all][3] का उपयोग करते हुए उपरोक्त आदेशों के समतुल्य हैं:

 library(stringr) str_replace_all(x, fixed(" "), "") str_replace_all(x, space(), "") 

stringr भी एक str_trim फ़ंक्शन होता है जो केवल प्रमुख और पिछड़े सफेद स्थान को निकालता है

 str_trim(x) ## [1] "xy" "← →" "x \t\n\r\v\fy" NA str_trim(x, "left") ## [1] "xy " "← → " ## [3] "x \t\n\r\v\fy \t\n\r\v\f" NA str_trim(x, "right") ## [1] " xy" " ← →" ## [3] " \t\n\r\v\fx \t\n\r\v\fy" NA 

stringi दृष्टिकोण: stri_replace_all_charclass और stri_trim

stringi को मंच-स्वतंत्र आईसीयू पुस्तकालय पर बनाया गया है, और स्ट्रिंग हेरफेर कार्यों का एक व्यापक सेट है। उपरोक्त के समतुल्य हैं:

 library(stringi) stri_replace_all_fixed(x, " ", "") stri_replace_all_charclass(x, "\\p{WHITE_SPACE}", "") 

यहां "\\p{WHITE_SPACE}" यूनिकोड कोड पॉइंट के सेट के लिए वैकल्पिक वाक्य-रचना है, जिसे "[[:space:]]" , "\\s" और space() बराबर "\\p{WHITE_SPACE}" माना जाता है। अधिक जटिल नियमित अभिव्यक्ति प्रतिस्थापन के लिए, यहां भी stri_replace_all_regex

stringi भी ट्रिम फ़ंक्शन है

 stri_trim(x) stri_trim_both(x) # same stri_trim(x, "left") stri_trim_left(x) # same stri_trim(x, "right") stri_trim_right(x) # same 

मैं सिर्फ str_trim (, side = "दोनों") के साथ एक स्ट्रिंग की शुरुआत और समाप्ति से सफेद स्थान को निकालने के लिए "स्ट्रिंगर" पैकेज के बारे में सीखा है, लेकिन इसमें एक प्रतिस्थापन फ़ंक्शन भी है, ताकि:

 a <- " xx yy 11 22 33 " str_replace_all(string=a, pattern=" ", repl="") [1] "xxyy112233" 

कृपया ध्यान दें कि ऊपर लिखी गई आत्माएं केवल अंतरिक्ष को निकालती हैं। यदि आप भी stringi पैकेज से टैब या नई लाइन का उपयोग करें stri_replace_all_charclass निकालना चाहते हैं

 library(stringi) stri_replace_all_charclass(" ala \t ma \n kota ", "\\p{WHITE_SPACE}", "") ## [1] "alamakota" 

किसी भी प्रकार के क्षैतिज सफेद-स्पेस वर्णों से मेल करने के लिए [[:blank:]] का उपयोग करें।

 gsub("[[:blank:]]", "", " xx yy 11 22 33 ") # [1] "xxyy112233" 

x = "xx yy 11 22 33"

जीएसयूबी ("", "", एक्स)

[1] "एक्सएक्सी 112233"