मैं एक स्ट्रिंग को एक या अधिक रिक्त स्थान या टैब से कैसे विस्फोट कर सकता हूं?
उदाहरण:
A B C D
मैं इसे एक सरणी बनाना चाहता हूं।
मैं एक स्ट्रिंग को एक या अधिक रिक्त स्थान या टैब से कैसे विस्फोट कर सकता हूं?
उदाहरण:
A B C D
मैं इसे एक सरणी बनाना चाहता हूं।
जवाबों:
$parts = preg_split('/\s+/', $str);
$parts = preg_split('/\s+/', $str, -1, PREG_SPLIT_NO_EMPTY);
लेखक ने विस्फोट के लिए कहा, आप इस तरह से विस्फोट का उपयोग कर सकते हैं
$resultArray = explode("\t", $inputString);
नोट: आपको दोहरे उद्धरण चिह्नों का उपयोग करना चाहिए, एकल नहीं।
मुझे लगता है कि आप चाहते हैं preg_split
:
$input = "A B C D";
$words = preg_split('/\s+/', $input);
var_dump($words);
विस्फोट का उपयोग करने के बजाय, preg_split आज़माएं: http://www.php.net/manual/en/function.preg-split.php
पूर्ण चौड़ाई वाले स्थान जैसे खाते के लिए
full width
आप इसका उत्तर देने के लिए Bens का विस्तार कर सकते हैं:
$searchValues = preg_split("@[\s+ ]@u", $searchString);
सूत्रों का कहना है:
(मेरे पास टिप्पणी पोस्ट करने के लिए पर्याप्त प्रतिष्ठा नहीं है, इसलिए मुझे यह एक उत्तर के रूप में लिखा गया है।)
अन्य लोगों (बेन जेम्स) द्वारा प्रदान किए गए उत्तर काफी अच्छे हैं और मैंने उनका उपयोग किया है। User889030 के अनुसार, अंतिम सरणी तत्व खाली हो सकता है। दरअसल, पहला और आखिरी एरे तत्व खाली हो सकते हैं। नीचे दिया गया कोड दोनों मुद्दों को संबोधित करता है।
# Split an input string into an array of substrings using any set
# whitespace characters
function explode_whitespace($str) {
# Split the input string into an array
$parts = preg_split('/\s+/', $str);
# Get the size of the array of substrings
$sizeParts = sizeof($parts);
# Check if the last element of the array is a zero-length string
if ($sizeParts > 0) {
$lastPart = $parts[$sizeParts-1];
if ($lastPart == '') {
array_pop($parts);
$sizeParts--;
}
# Check if the first element of the array is a zero-length string
if ($sizeParts > 0) {
$firstPart = $parts[0];
if ($firstPart == '')
array_shift($parts);
}
}
return $parts;
}
Explode string by one or more spaces or tabs in php example as follow:
<?php
$str = "test1 test2 test3 test4";
$result = preg_split('/[\s]+/', $str);
var_dump($result);
?>
/** To seperate by spaces alone: **/
<?php
$string = "p q r s t";
$res = preg_split('/ +/', $string);
var_dump($res);
?>
@ यह कोई फर्क नहीं पड़ता, आप बस विस्फोट के साथ एक अंतरिक्ष पर विभाजित कर सकते हैं। जब तक आप उन मूल्यों का उपयोग नहीं करना चाहते हैं, तब तक विस्फोटित मूल्यों पर पुनरावृत्ति करें और रिक्त स्थान त्यागें।
$str = "A B C D";
$s = explode(" ",$str);
foreach ($s as $a=>$b){
if ( trim($b) ) {
print "using $b\n";
}
}