2011-10-05 11 views
5

का उपयोग कर शब्द विभाजित करने के लिए यह एक सरल प्रश्न हो सकता है लेकिन, मैं शब्द कैसे विभाजित हो जाते हैं ... उदाहरणकैसे जावास्क्रिप्ट

a = "even, test" 

मैं .split का इस्तेमाल किया है अंतरिक्ष के साथ पाठ अलग करने के लिए।

तो परिणाम आया

a = "even," 
b = "test" 

लेकिन जैसे, मैं कैसे 'अल्पविराम' यहाँ निकालूँ है?

लेकिन कुछ स्थितियों में इसे "यहां तक ​​कि परीक्षण" भी मिल सकता है और कुछ स्थितियों में मुझे "यहां तक ​​कि परीक्षण" भी मिल सकता है। सभी गतिशील हैं, तो मैं इसे दोनों के लिए कैसे जांचूं?

धन्यवाद

+1

की कोशिश की a.split (",")? – sunn0

उत्तर

0

Hej हैरी

अगर अल्पविराम विभाजक आप अल्पविराम

पूर्व के साथ विभाजन कॉल कर सकते हैं है:

var newColls = myString.split(","); 

और अंतरिक्ष के साथ विभाजित नहीं।

जीएल

1
a.split(',') 

या

var re = /\s*,\s*/ 
var newA = a.split(re); 
10

सबसे पहले, split() समारोह jQuery नहीं है - यह शुद्ध जावास्क्रिप्ट है।

क्या आपने अल्पविराम और एक स्थान के साथ विभाजन करने की कोशिश की? यही कारण है कि अपने मामले में ठीक से काम किया होता है

var result = input.split(', '); 

अधिक जटिल विभाजन लिए, आपको कई अल्पविराम या रिक्त स्थान दो क्षेत्रों के बीच की अनुमति के लिए मिलान नियमित अभिव्यक्ति पैटर्न का उपयोग कर सकते हैं:

var result = input.split(/[, ]+/); 

लेकिन आप शायद अपने मामले में अब तक जाने की जरूरत नहीं है। मुझे लगता है कि आप इसे इस तरह से कर सकता

var a = "even, test"; 
var words = a.split(", "); 
1

बस इस कोड का उपयोग

var a= 'even,' 
var newA = a.slice(0, -1) 

इसमें दिए गए स्ट्रिंग से पिछले चार निकाल देंगे।

और अगर स्ट्रिंग में एक अल्पविराम जाँच करने के लिए, मैं क्या करना होगा निम्नलिखित:

if (a.indexOf(",") >= 0){ 
    //contains a comma 
} else { 
    //no comma 
} 

मैं एक जावास्क्रिप्ट शुरुआत कर रहा हूँ, तो यह शायद यह करने के लिए सबसे अच्छा तरीका नहीं है, लेकिन फिर भी यह काम करता है।

text.match(/[a-z'\-]+/gi); 

उदाहरण::

+1

धन्यवाद, लेकिन कुछ स्थितियों में मुझे "यहां तक ​​कि परीक्षण" भी मिल सकता है और कुछ स्थितियों में मुझे "यहां तक ​​कि परीक्षण" भी मिल सकता है। तो मैं इसे दोनों के लिए कैसे जांचूं? – Harry

+1

उत्तर @Spudley द्वारा आपको दिया गया है। नियमित अभिव्यक्ति का प्रयोग करें: a.split (/ [,] + /); –

+0

@ हैरी: इसके अलावा, मेरे साथ यह किसी भी गैर-शब्द टेक्स्ट को विभाजक के रूप में उपयोग करता है (केवल शब्दों को निकालता है)। – ESL

4

मुझे लगता है कि कुछ इस तरह उपयोग करने के लिए बेहतर है

var e=function() 
 
{ 
 
    var r=document.getElementById('r'); 
 
    var x=document.getElementById('t').value.match(/[a-z'\-]+/gi); 
 
    for(var i=0;i<x.length;i++) 
 
    { 
 
    var li=document.createElement('li'); 
 
    li.innerText=x[i]; 
 
    r.appendChild(li); 
 
    } 
 
}
<div style="float:right;width:18%"> 
 
<ol id="r" style="display:block;width:auto;border:1px inner;overflow:scroll;height:8em;max-height:10em;"></ol> 
 
<button onclick="e()">Extract words!</button> 
 
</div> 
 
<textarea id="t" style="width:70%;height:12em">even, test; spider-man 
 

 
But saying o'er what I have said before: 
 
My child is yet a stranger in the world; 
 
She hath not seen the change of fourteen years, 
 
Let two more summers wither in their pride, 
 
Ere we may think her ripe to be a bride. 
 

 
—Shakespeare, William. The Tragedy of Romeo and Juliet</textarea>

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