2013-01-18 50 views
7

मैं कैसे जांचूं कि वर्णों की एक सूची स्ट्रिंग में है या नहीं, उदाहरण के लिए "एबीसीडीएफएचजी" मैं कैसे जांचूं कि इनमें से कोई भी स्ट्रिंग में है या नहीं। जावा मेंमैं कैसे जांचूं कि स्ट्रिंग में वर्णों की सूची है या नहीं?

+0

तुम्हारा मतलब है कि आप कुछ स्ट्रिंग अगर जांच करना चाहते हैं सूची से अक्षर शामिल हैं? –

+0

इस तरह के प्रश्न पूछने से पहले कहीं और कहीं और देखना चाहिए। – sage88

+0

मुझे लगता है कि ओपी का मतलब नियमित अभिव्यक्ति पूछना है, लेकिन यह नहीं पता था कि – Mawia

उत्तर

15

उपयोग नियमित अभिव्यक्ति str.matches(regex_here) regex in java

उदाहरण के लिए

का उपयोग कर जांच करने के लिए:

if("asdhAkldffl".matches(".*[ABCDEFGH].*")) 
    { 
     System.out.println("yes"); 
    } 
+0

लोकेल संवेदनशीलता के बारे में क्या पूछें? – mre

2

मुझे लगता है कि यह एक नौसिखिया सवाल है, तो मैं आप easies विधि मैं के बारे में सोच सकते हैं दे देंगे: using indexof जटिल संस्करण में regex शामिल हैं यदि आप चाहें तो कोशिश कर सकते हैं।

0

यह एक होमवर्क सवाल की तरह लगता है ... -_-

आप String.contains() फ़ंक्शन का उपयोग कर सकते हैं।
उदाहरण के लिए:

"string".contains("a"); 
String str = "wasd"; 
str.contains("a"); 

लेकिन आप हर चरित्र आप के लिए जाँच करना चाहते हैं प्रति एक बार यह कॉल करने के लिए की आवश्यकता होगी।

+0

यह एक अक्षम समाधान है, रेगेक्स का उपयोग करना बेहतर है। –

+0

मैंने पोस्ट किया क्योंकि अगर आप अभी तक रेगेक्स नहीं जानते हैं तो यह समझना आसान और आसान है। – EAKAE

+0

हाँ लेकिन शुभकामनाएं अगर आप यह जांचना चाहते हैं कि इसमें इस विधि के साथ केवल संख्यात्मक डेटा है या नहीं। – Alex

8

इस लागू करने के लिए स्पष्ट तरीका StringUtils.containsAny(String, String)

package com.sandbox; 

import org.apache.commons.lang.StringUtils; 
import org.junit.Test; 

import static org.junit.Assert.assertFalse; 
import static org.junit.Assert.assertTrue; 

public class SandboxTest { 

    @Test 
    public void testQuestionInput() { 
     assertTrue(StringUtils.containsAny("39823839A983923", "ABCDEFGH")); 
     assertTrue(StringUtils.containsAny("A", "ABCDEFGH")); 
     assertTrue(StringUtils.containsAny("ABCDEFGH", "ABCDEFGH")); 
     assertTrue(StringUtils.containsAny("AB", "ABCDEFGH")); 
     assertFalse(StringUtils.containsAny("39823839983923", "ABCDEFGH")); 
     assertFalse(StringUtils.containsAny("", "ABCDEFGH")); 
    } 

} 

Maven निर्भरता उपयोग कर रहा है:

<dependency> 
     <groupId>org.apache.commons</groupId> 
     <artifactId>commons-lang3</artifactId> 
     <version>3.5</version> 
    </dependency> 
+0

मुझे मिल रहा है आयात org.apache.commons को हल नहीं किया जा सकता – anon58192932

+2

@advocate शायद क्योंकि यह जावा में नहीं बनाया गया है। इसे प्राप्त करने के लिए आपको अपाचे कॉमन्स लैंग डाउनलोड करना होगा। http://commons.apache.org/proper/commons-lang/ इसे अपने क्लासपाथ में जोड़ना सुनिश्चित करें। –

+0

धन्यवाद! किसी और के लिए आपको डाउनलोड पैकेज को अनजिप करने की आवश्यकता है (मैं आपके प्रोजेक्ट फ़ोल्डर में अनुशंसा करता हूं)। ग्रहण में अपनी परियोजना पर राइट क्लिक करें -> पथ बनाएं -> बिल्ड पथ कॉन्फ़िगर करें -> बाहरी जार जोड़ें -> कॉमन्स लैंग जार चुनें। आपको अपने इनपोर्ट कथन में सही संस्करण संख्या की भी आवश्यकता होगी: आयात org.apache.commons.lang3.StringUtils; – anon58192932

1

अमरूद से: CharMatcher.matchesAnyOf

private static final CharMatcher CHARACTERS = CharMatcher.anyOf("ABCDEFGH"); 
assertTrue(CHARACTERS.matchesAnyOf("39823839A983923"));