2012-03-30 11 views
8

के साथ कुछ के साथ समाप्त होता है या नहीं, मुझे यह जानने की ज़रूरत है कि क्या स्ट्रिंग का अंत .xyz जैसे किसी भी अक्षर के साथ समाप्त होता है या नहीं।जांच कर रहा है कि स्ट्रिंग जावा (रेगेक्स)

इस तरह

:

myString.endsWidth(".css*") 

हालांकि यह मेरा अगर बयान पास नहीं। एक ठोस उदाहरण इस तरह की स्ट्रिंग है: style.css?v=a1b23

कोई विचार?

पूरा उदाहरण स्ट्रिंग:

http://xyz.com//static/css/style.css?v=e9b34 
+2

endsWith रेगुलर एक्सप्रेशन का उपयोग नहीं करता है। – claesv

उत्तर

12

हम, मैं है कुछ इस तरह अनुमान लगा रहा हूँ और भी बेहतर:

return myString.indexOf(".css")>-1; 

तुम सच में regexp साथ जाना चाहते हैं, तो आप इस

इस्तेमाल कर सकते हैं
return myString.matches(".*?\\.css.*"); 
+0

मैंने कोशिश की "। *? \\। सीएसएस। *" लेकिन अभी भी काम नहीं करेगा ... – xybrek

+1

बस कोशिश की: "style.css? V = a1b23" .matches ("। *? \\। Css। *") और यह 'सत्य' देता है इसलिए आपके पास कहीं और समस्या होनी चाहिए –

2

".*\.css.+" का उपयोग अपने नियमित ई के रूप में करें है xpression।

+0

मुझे यकीन नहीं है कि यह भी काम नहीं करता है? पूर्ण स्ट्रिंग कुछ ऐसा होगा: http://xyz.com//static/css/style.css?v=e9b34 – xybrek

+0

क्या आपने एरिक के जवाब पर विचार किया था? आपको 'मिलान (स्ट्रिंग)' का उपयोग करने की आवश्यकता है, न कि 'समाप्त होता है (स्ट्रिंग) '। रास्ते से अभिव्यक्ति अद्यतन किया। –

3

endsWith पैरामीटर के रूप में एक स्ट्रिंग लेता

matches एक रेगुलर एक्सप्रेशन लेता

0

उपयोग \.(.{3})(.*) तो पहले समूह ($ 1) . के बाद तीन वर्ण हैं और दूसरे समूह $ 2 के बाद स्ट्रिंग के बाकी शामिल उन तीन पात्रों। अभिव्यक्ति के अंत में एक $ साइन जोड़े यह केवल उस संयोजन

0

कुछ regex का प्रयास के साथ समाप्त तार के लिए देखो करने के लिए:

Pattern p = Pattern.compile(".*\.css.*"); 
Matcher m = p.matcher("mystring"); 
if (m.matches()) { 
    // do your stuff 
} 
संबंधित मुद्दे