2010-08-25 14 views
45

मान लें कि मेरे पास test_23 है और मैं test_ को हटाना चाहता हूं।स्ट्रिंग का हिस्सा कैसे निकालें?

मैं यह कैसे कर सकता हूं?

_ से पहले उपसर्ग बदल सकता है।

+0

हो सकता है आप (करने के लिए [जावास्क्रिप्ट में रेगुलर एक्सप्रेशन] एक नज़र http://www.w3schools.com/jsref/jsref_obj_regexp.asp लेना चाहिए) – Barranka

उत्तर

88

ऐसा करने का मेरा पसंदीदा तरीका "बंटवारे और पॉपिंग" है:

var str = "test_23"; 
alert(str.split("_").pop()); 
// -> 23 

var str2 = "adifferenttest_153"; 
alert(str2.split("_").pop()); 
// -> 153 

split()
pop()

+1

+1 मुझे यह पसंद है। – Marc

+11

मेरे अंदर सी प्रोग्रामर इस सरल विभाजन/पॉप ऑपरेशन पर बनाए और नष्ट वस्तुओं की संख्या पर क्रिंग करता है :) शायद: एक सरणी, 2 स्ट्रिंग, एक और सरणी, एक और स्ट्रिंग। – Gui13

+6

@xgbi: हाँ, जावास्क्रिप्ट और सी डेवलपर्स के पास अलग-अलग दर्शन हैं, हालांकि ;-) –

26

अपने स्ट्रिंग हमेशा मान लिया जाये कि 'test_' साथ शुरू होता है:

var str = 'test_23'; 
alert(str.substring('test_'.length)); 
+3

क्या होगा यदि यह परीक्षण से शुरू नहीं होता है? – NullVoxPopuli

+4

एंडी ई का जवाब देखें। – BoltClock

6
string = "test_1234"; 
alert(string.substring(string.indexOf('_')+1)); 

यह भी बदतर है केएस अगर स्ट्रिंग के अंडरस्कोर नहीं है। http://jsbin.com/

+4

इसमें कम ओवरहेड है, लेकिन एंडी ई के उत्तर से अधिक कोड। दोनों काम करते हैं, लेकिन मैं इस विधि को पसंद करता हूं। – palswim

14

सबसे आसान तरीका है मुझे लगता है कि कम से कोशिश करो है:

var s = yourString.replace(/.*_/g,"_"); 
संबंधित मुद्दे