使用 Java 中的拆分函数在矩阵中搜索字符串


要使用拆分函数在矩阵中搜索字符串,代码如下 −

示例

 在线演示

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”的函数垂直检查矩阵中的搜索字符串。要搜索矩阵列中的字符串,矩阵会进行转置并再次进行搜索。

更新于: 13-07-2020

83 次浏览

开启您的 职业

完成课程以获得认证

开始
广告