gsub("(?<![0-9])0+", "", c("005", "0AB", "000", "0"), perl = TRUE)
#> [1] "5" "AB" "" ""
gsub("(^|[^0-9])0+", "\\1", c("005", "0AB", "000", "0"), perl = TRUE)
#> [1] "5" "AB" "" ""
उपरोक्त नियमित अभिव्यक्ति इस SO थ्रेड से है, जिसमें बताया गया है कि R में एक स्ट्रिंग से सभी प्रमुख शून्य को कैसे हटाया जाए । इस नियमित अभिव्यक्ति के परिणामस्वरूप "000" और "0" दोनों "" में रूपांतरित हो जाते हैं। इसके बजाय मैं पात्रों के एक स्ट्रिंग से सभी अग्रणी शून्य को हटाना चाहता हूं, केवल उन मामलों को छोड़कर जब अंतिम चरित्र शून्य होता है, या एकमात्र चरित्र शून्य होता है।
"005" would become "5"
"0AB" would become "AB"
"000" would become "0"
"0" would become "0"
यह अन्य एसओ धागा बताता है कि मुझे क्या करना है, लेकिन मुझे नहीं लगता कि मुझे सिंटैक्स सही मिल रहा है, आर में समाधान लागू करना। और मैं वास्तव में नीचे दिए गए 1 और 2 के बीच के अंतर को नहीं समझता हूं ( अगर वे वास्तव में काम करते हैं)।
gsub("s/^0*(\d+)$/$1/;", "", c("005", "0AB", "000", "0"), perl = TRUE) # 1st solution
# Error: '\d' is an unrecognized escape in character string starting ""s/^0*(\d"
gsub("s/0*(\d+)/$1/;", "", c("005", "0AB", "000", "0"), perl = TRUE) # 2nd solution
# Error: '\d' is an unrecognized escape in character string starting ""s/0*(\d"
आर में उचित रेगेक्स क्या है जो मुझे चाहिए?
regex
अनाडी। प्रदर्शन अंतर (या अन्य वरीयताओं) अपने पैटर्न और इस एक के बीच क्या है^0*(.+)$
या^0+(.+)$
?