stringr पैकेज में str_split
के लिए दस्तावेज़ में कहा गया है पैटर्न तर्क के लिए कि:असंगत व्यवहार और strsplit
तो "" अलग-अलग पात्रों में विभाजित हो।
जो बताता है कि यह इस संबंध में strsplit
जैसा व्यवहार करता है। हालांकि,
library(stringr)
str_split("abcab","")
[[1]]
[1] "" "a" "b" "c" "a" "b"
एक प्रमुख खाली स्ट्रिंग के साथ। इस के साथ तुलना,
strsplit("abcab","")
[[1]]
[1] "a" "b" "c" "a" "b"
रिक्त स्ट्रिंग अग्रणी सामान्य व्यवहार जब गैर रिक्त स्ट्रिंग पर बंटवारे प्रतीत हो रहा है,
strsplit("abcab","ab")
[[1]]
[1] "" "c"
लेकिन फिर भी, str_split
एक 'अतिरिक्त' अनुगामी रिक्त स्ट्रिंग उत्पन्न करता है:
str_split("abcab","ab")
[[1]]
[1] "" "c" ""
क्या यह विसंगति एक बग, फीचर, दस्तावेज में एक त्रुटि है या सिर्फ 'अपेक्षित व्यवहार' की एक अलग धारणा है?
स्टैक ओवरफ्लो पर पूछने के बजाय डेवलपर के साथ एक बग रिपोर्ट दर्ज करना बेहतर होगा ... – hadley
क्षमा करें @ हैडली, मैं मूल रूप से कभी नहीं सोचता कि मुझे एक बग मिला है। मेरे पास बहुत कम आत्म सम्मान है। – joran
शायद यह एक बग नहीं है, लेकिन दिए गए डेलीमीटर * द्वारा एक स्ट्रिंग को विभाजित करने की एक अलग व्याख्या। ('अपेक्षित व्यवहार' की एक अलग धारणा।) यदि आप डिलिमीटर ** ab ** द्वारा स्ट्रिंग ** abcab ** विभाजित करते हैं, तो मुझे उम्मीद है कि परिणाम '' और 'c' और' '। हालांकि, सभी प्रोग्रामर उसी तरह व्याख्या नहीं करते हैं। –