2011-09-08 17 views
7

यदि वहाँ एक यादृच्छिक स्ट्रिंग सर्वर से मिलती है:यादृच्छिक स्ट्रिंग में अक्षरों की संख्या को कैसे गिनें?

var str='I am a student in XXX university, I am interested...' 

str रिक्तियों के साथ शब्दों के यादृच्छिक संख्या हो सकते हैं। स्ट्रिंग की सामग्री अप्रत्याशित है।

जावास्क्रिप्ट में, कैसे स्ट्रिंग में पत्रों की संख्या गिनती करने के लिए (रिक्त स्थान शब्दों के बीच गिनती से अनन्य हैं)। उदाहरण के लिए "मेरे पास एक कार है" 9 अक्षरों की गणना की जानी चाहिए।

उत्तर

15

मान लिया जाये कि आप केवल अल्फा वर्ण चाहते हैं, अन्य पात्रों के पहले replace() का उपयोग कर से छुटकारा पाने:

var str='I am a student in XXX university, I am interested...'; 

alert(str.replace(/[^A-Z]/gi, "").length); 

आप [^A-Z] चरित्र वर्ग के लिए 0-9 जोड़ सकते हैं अगर आप पत्र के रूप में संख्या की गणना करना चाहते। आप केवल सफेद-अंतरिक्ष निकालना चाहते हैं, /\s/g

+0

की संख्या अगर के बारे में मैं खाते में अंतरिक्ष लेना चाहते हैं क्या दे देंगे? – Mellon

+0

@ मेलॉन: यदि आप रिक्त स्थान शामिल करना चाहते हैं लेकिन अन्य विराम चिह्न को बहिष्कृत करना चाहते हैं, तो वर्ण वर्ग को '[^ ए-जेड]' में बदलें। –

7

को नियमित अभिव्यक्ति बदल हम हर जगह विभाजित है और सरणी फिर से शामिल होने:

var str='I am a student in XXX university, I am interested...' 

str = str.split(" ").join(""); 

alert(str.length); 

http://jsfiddle.net/AwVBJ/

+1

क्या एक 'अभी भी एक पत्र है? : पी – Andrew

+1

@ एंड्रयू: निष्पक्ष होने के लिए, ओपी ने केवल स्पष्ट रूप से रिक्त स्थान का उल्लेख किया था। हालांकि, शायद यह मामला है कि वह अन्य जंक गिनना नहीं चाहता है। –

2

और फिर भी एक और तरीका:

var str = "I have a car"; 
while (str.indexOf(' ') > 0) { 
    str = str.replace(' ' , ''); 
    } 
var strLength = str.length;  
6

आप रेगेक्स \w का उपयोग कर मैचों की संख्या को जोड़ सकते हैं - जो किसी भी अल्फान्यूमेरिक कैरेक्टर यासे मेल खाता हैकिसी भी अल्फा चरित्र के लिए

जैसे:

var numChars = "I have a car".match(/[a-zA-Z]/g).length; 
// numChars = 9 

लाइव उदाहरण: http://jsfiddle.net/GBvCp/

+0

ध्यान दें कि '\ w' भी' _' से मेल खाता है, जो वांछित हो सकता है या नहीं। –

0

गणना स्थानों की संख्या (जैसे http://p2p.wrox.com/javascript-how/70527-count-occurrence-character-string.html), फिर लंबाई से घटाएं।

 

    var testString = ' my test string has a number of spaces '; 
    alert('Number of spaces:' + (testString .replace(/[^ ]/g, '').length)); 
    alert('Number of characters:' + (testString.length)); 
    alert('Number of characters excluding spaces:' + 
     (testString.length - (testString  .replace(/[^ ]/g, '').length))); 

नोट: यह सही समय पर डबल रिक्त स्थान और रिक्त स्थान की गणना करता है।

2
var temp = str; 

temp= temp.replace(/[^a-zA-Z]+/g,""); 

temp.length यू पात्रों

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