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" "" ""
উপরের নিয়মিত এক্সপ্রেশনটি এই এসও থ্রেড থেকে ব্যাখ্যা করে যে কীভাবে আর এর স্ট্রিং থেকে সমস্ত নেতৃস্থানীয় শূন্যগুলি সরিয়ে ফেলা যায়। এই নিয়মিত অভিব্যক্তির ফলস্বরূপ "000" এবং "0" উভয়ই "" রূপান্তরিত হয় "। পরিবর্তে আমি চূড়ান্ত অক্ষর শূন্য হয় বা একমাত্র অক্ষর শূন্য হয় এমন ক্ষেত্রে বাদে অক্ষরের একটি স্ট্রিং থেকে সমস্ত নেতৃস্থানীয় শূন্যগুলি মুছে ফেলতে চাই।
"005" would become "5"
"0AB" would become "AB"
"000" would become "0"
"0" would become "0"
এই অন্যান্য এসও থ্রেডটি আমি যা চাই তা কীভাবে করব তা ব্যাখ্যা করে, তবে আমি মনে করি না যে আমি বাক্য গঠনটি বেশ সঠিকভাবে পেয়েছি, আরটিতে সমাধানটি প্রয়োগ করে And এবং আমি নীচের 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+(.+)$
কী?