2014-07-11 3 views
6

http://www.tutorialspoint.com/java/java_string_split.htmजावा स्ट्रिंग विभाजन() विधि, शून्य और नकारात्मक सीमा

यहाँ इस पद्धति की वाक्य रचना है। हालांकि, मैं Str.split("-", 0) प्राप्त नहीं करता हूं, सीमा के शून्य की भूमिका क्या है? कुछ उदाहरणों में, मुझे नकारात्मक सीमाएं भी मिली हैं, यह क्या है? बहुत बहुत धन्यवाद

+4

http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split%28java.lang.String,%20int% ही है 29 –

+0

आपकी सुविधा के लिए कॉपी-पेस्ट: "एफएन गैर-पॉजिटिव है तो पैटर्न जितनी बार संभव हो उतनी बार लागू किया जाएगा और सरणी की लंबाई हो सकती है। अगर शून्य शून्य है तो पैटर्न जितनी बार संभव हो उतनी बार लागू किया जाएगा, सरणी में कोई लंबाई हो सकती है, और पिछली तारों को पीछे छोड़ दिया जाएगा। " – laune

+0

@laune आप पहले वाक्य चूक गए! आश्चर्य की बात नहीं है, क्योंकि * गैर-सकारात्मक * ** स्पष्ट रूप से ** नकारात्मक नहीं है। * यदि एन गैर-पॉजिटिव है तो पैटर्न को जितनी बार संभव हो उतनी बार लागू किया जाएगा और सरणी में कोई लंबाई हो सकती है। यदि एन शून्य है तो पैटर्न को जितनी बार संभव हो उतनी बार लागू किया जाएगा, सरणी में कोई लंबाई हो सकती है, और खाली तारों को पीछे छोड़ दिया जाएगा। * तो, शून्य खाली रिकॉर्ड्स को छोड़ देता है और नकारात्मक उन्हें संरक्षित करता है! –

उत्तर

11

सीमा पैरामीटर बार पैटर्न लागू किया जाता है की संख्या को नियंत्रित करता है और इसलिए परिणामस्वरूप array की लंबाई को प्रभावित करता है। अगर सीमा n से अधिक शून्य तो पैटर्न सबसे n पर लागू किया जाएगा है

  1. - 1 बार,: हम संभव इस सीमा के लिए मूल्यों है array's लंबाई n से अधिक नहीं होगी, और array's अंतिम प्रविष्टि में अंतिम मिलान वाले डेलीमीटर से परे सभी इनपुट शामिल होंगे।

  2. तो n गैर सकारात्मक है तो पैटर्न संभव के रूप में कई बार के रूप में लागू किया जाएगा और array किसी भी लम्बाई हो सकता है।

  3. तो n शून्य तो पैटर्न संभव के रूप में कई बार के रूप में लागू किया जाएगा, array किसी भी लम्बाई हो सकता है, और अनुगामी रिक्त स्ट्रिंग छोड़ दिए जाएंगे।

आप here पढ़ सकते हैं।

+0

एन में शून्य है, खाली तारों को भी छोड़ दिया जाएगा? 0 :) इससे पहले कि मैं इसे जांचूं ... –

+0

@darkchampionz पैटर्न केवल उस स्ट्रिंग पर काम करता है जिस पर आप विधि विभाजन को निष्पादित कर रहे हैं। यह *** स्ट्र *** के पहले या उसके बाद आने वाले तारों पर विचार नहीं करेगा – GingerHead

1

Str.split("-", 0)Str.split("-") के बराबर है। मैं, कोई सीमा नहीं है।

संबंधित मुद्दे