Үлгілердің сызығын салыңыз

I have one string that contains String s1="1 2 7 8"

now suppose I have two string String s2="1 7 8" and String s3="1 2 8"

сондықтан бірінші екі жолды салыстыру арқылы true қайтаруға тиіс.

Бірақ s1.contanis (s2) жасаған кезде ол жалғанды ​​қайтарады.

Бұл үлгіні салыстырып, бір-бірімен салыстырудың басқа оңай жолы бар ма?

0
php-де similar_text мекен-жайы бойынша [ check this out ] ... бір сұрақ мұнда да .
қосылды автор Prasanth, көзі

7 жауаптар

Бұл s1 барлық элементтерді s2 (кеңістікпен бөлінген) құрамында тексереді ма?

Arrays.asList(s1.split(" ")).containsAll(Arrays.asList(s2.split(" ")));

Толық код:

public class StringContainsNumbers {
    public static void main(String[] args) {
        final String s1 = "1 2 7 8";
        final String s2 = "1 7 8";
        final String s3 = "1 2 8";

        System.out.println(stringContainsNumbers(s1, s2));
        System.out.println(stringContainsNumbers(s1, s3));
    }

    private static boolean stringContainsNumbers(String s1, String s2) {
        return Arrays.asList(s1.split(" ")).containsAll(Arrays.asList(s2.split(" ")));
    }
}
5
қосылды
Сізге үлкен рахмет, бұл мен іздеймін.
қосылды автор commit, көзі

«1 2 7 8» жолындағы «1 7 8» деген бүкіл кодты тексереді.

StringTokenizer әдісін пайдалану керек.

1
қосылды

s1 міндетті түрде s2 жоқ.

не істеу керек? Егер нақты мәндерді салыстыру қажет болса, бөлу және бүтін санға түрлендіру қажет

1
қосылды
ол жалғандығын түсінеді. мұнда мұны қалай істеу керек деген мәселе бар. ол қолдайтын кез-келген кітапхананың бар-жоғын білгісі келеді. Ол жолды қайталау арқылы жасауға болатынын біледі.
қосылды автор zerocool, көзі

жолында әдісі бар String тек s1 толық s2 болса, шын мәнін қайтарады. Басқа сөздермен айтқанда

 String s1 = "hello world";
 s1.contains( "llo" );

Бірақ шындықты қайтарады

 s1.contains( "ll w" );

жалғандықты қайтарады.

S1 және s2-нің екеуін де белгілеп, содан кейін s1 элементтерінің барлық элементтері бар екенін тексеріңіз.

0
қосылды

you can do Google search "Java - String matches() Method" You are going to find many links. One of them is: http://www.tutorialspoint.com/java/java_string_matches.htm

0
қосылды

Келесі кодты пайдаланыңыз:

public class Main {
 public static void main(String[] args) {
    String one="1 7 8";
    String two= "1 2 8";
    List fistList= Arrays.asList(one.split(" "));
    List secondList= Arrays.asList(two.split(" "));
    boolean isContainAll=fistList.containsAll(secondList);
    System.out.println(isContainAll);
 }
}
0
қосылды

Себебі s1.contains (s2) пайдаланған кезде ол жолда бір әріптерді емес, бүкіл жолды салыстырмайды. Мысалы, s1 мәні «2 1 7 8» болса, онда s1.contains (s2) шын болады.

0
қосылды