Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 Split 기능을 사용하여 Matrix에서 문자열 검색

<시간/>

split 함수를 사용하여 Matrix에서 문자열을 검색하는 코드는 다음과 같습니다. -

예시

import java.util.*;
public class Demo {
   public static int search_string(String[] my_matrix, String search_string){
      for (String input : my_matrix){
         String[] my_value = input.split(search_string);
         if (my_value.length >= 2 || my_value.length == 0){
            return 1;
         }
         else if (my_value.length == 1 && input.length() != my_value[0].length()){
            return 1;
         }
      }
      return 0;
   }
   public static String[] vertical_search(String[] my_matrix){
      String[] vertical_search_value = new String[my_matrix[0].length()];
      for (int i = 0; i < my_matrix[0].length(); i++){
         String temp = "";
         for (int j = 0; j < my_matrix.length; j++)
            temp += my_matrix[j].charAt(i);
         vertical_search_value[i] = temp;
      }
      return vertical_search_value;
   }
   public static void main(String[] args){
      String[] my_matrix = { "This", "Sample", "This" };
      String search_string = "This";
      String[] vertical_matrix = vertical_search(my_matrix);
      int horizontal_search_result = search_string(my_matrix, search_string);
      int vertical_search_result = search_string(vertical_matrix, search_string);
      if (horizontal_search_result == 1 || vertical_search_result == 1)
         System.out.println("The string has been found in the matrix");
      else
         System.out.println("The string couldn't be found in the matrix");
   }
}

출력

The string has been found in the matrix

Demo라는 클래스는 문자열을 분할하고 문자열의 길이를 확인하는 'search_String'이라는 함수를 정의합니다. 전체 행이 문자열에 의해 점유되면 함수는 길이가 0인 배열을 반환합니다.

찾고 있는 문자열이 문자열의 문자 사이에 있으면 배열의 길이는 1보다 커집니다. 다음과 같은 경우 배열의 길이는 1이 될 수 있습니다.

  • 검색 문자열은 배열의 전반부에 나타납니다.
  • 검색 문자열은 배열의 마지막 절반에서 발생합니다.
  • 검색 문자열이 배열에 없습니다.

'vertical_search'라는 또 다른 함수는 행렬에서 수직으로 검색 문자열을 확인합니다. 행렬의 열에서 문자열을 검색하기 위해 행렬을 전치하고 다시 검색합니다.