Рубрики
Без рубрики

Проверьте подстроку в массиве – Java, Python и Swift

В этом быстром руководстве мы узнаем, как быстро искать часть строки в массиве. Мы будем продемонстрировать примеры в Java, Python и Swift.

Автор оригинала: Pankaj Kumar.

В этом быстром руководстве мы узнаем, как быстро искать часть строки в массиве. Мы будем продемонстрировать примеры в Java, Python и Swift.

Простой способ проверить, существует ли подстрока в любом из элементов массива, связана с элементами массива. Но в следующих разделах мы будем использовать разные подходы, которые намного более короткие, очистительные и читаемые.

Подстрока в массиве с помощью Java

Использование API Java 8 Peam API мы можем найти, если в массиве присутствует какая-либо подстрока.

import java.util.Arrays;
import java.util.Optional; 

public class SubStringChecker{

     public static void main(String []args){
        System.out.println("Hello World");
        
        String[] array = {"abc","def", "ghi"};
        
        String input = "abcdefghi";
        boolean stringExists = substringExistsInArray(input, array);
        System.out.println(stringExists);
        
        String input2 = "acdfhi";
        stringExists = substringExistsInArray(input2, array);
        System.out.println(stringExists);
        
        System.out.println(getFirstMatchingSubstring(input, array));
        System.out.println(getFirstMatchingSubstring(input2, array));
     }
     
     public static boolean substringExistsInArray(String inputStr, String[] items) {
        return Arrays.stream(items).parallel().anyMatch(inputStr::contains);
     }

     public static Optional getFirstMatchingSubstring(String inputStr, String[] items) {
       return Arrays.stream(items).parallel().filter(inputStr::contains).findAny();
     }

}

В приведенном выше коде мы создали два метода. Один, чтобы проверить, существует ли подстрока. Другой, чтобы вернуть соответствующую подстроку.

Anymatch Возвращает любую из подстроков, которые соответствуют соответствующим. Нет конкретного порядка. Точно так же Yinkany Возвращает любой из элементов массива, которые были сопоставлены. Значение возвращается как Дополнительная строка Отказ

Выход вышеизложенного является:

Проверка на подстроку в массиве с помощью Python

Мы можем использовать понимание списка Python, чтобы проверить, содержит ли массив подстроки или нет.

input1 = "abcdefghi"
array = ['abc', 'def', 'ghi'] 
  
result = any(sub in input1 for sub in array) 
print("substring exists in the list for input1: " + str(result)) 

input2 = "acdfhi"

result = any(sub in input2 for sub in array) 
print("substring exists in the list for input2: " + str(result)) 

matchingString = next(substring for substring in array if substring in input1)
print("substring that matched was "+matchingString)

#Output
"""
substring exists in the list for input1: True                                                                                        
substring exists in the list for input2: False                                                                                       
substring that matched was abc 
"""

любой Возвращает true, если в массиве любой из подстроек.

Чтобы распечатать соответствующую подстроку, которую мы используем Следующий Отказ

Следующий бросает запечатление, если условие не совпадало вообще.

Использование SWIFT для проверки, содержит ли массив подстроки

Свифт был всё набирает популярность.

На следующем кодовом фрагменте является проверкой этого.

import UIKit


let input1 = "abcdefghi"
let array = ["abc", "def", "ghi"]

let input1Matches = array.contains(where: input1.contains)

print("array contains input1 \(input1Matches)")

let input2 = "acdfhi"

let input2Matches = array.contains(where: input2.contains)

print("array contains input2 \(input2Matches)")

Array.contains (где: string.contains) Возвращает нас логически, если массив содержит подстроку строки.

Выход вышеуказанного кода:

Проверьте наличие подстроки в Array Swift

Это подводит подвождение этого учебника. Мы охватываем интересную проблему в Java, Python и Swift.