Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaのSplit関数を使用してMatrixで文字列を検索する


分割関数を使用して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」という名前の別の関数は、マトリックス内の検索文字列を垂直方向にチェックします。マトリックスの列で文字列を検索するには、マトリックスを転置して再度検索します。


  1. Javaを使用して、区切り文字として空白文字を含む文字列を分割するにはどうすればよいですか?

    split() Stringクラスのメソッドは、区切り文字(文字列の形式)を受け入れ、区切り文字に基づいて現在の文字列をより小さな文字列に分割し、結果の文字列を配列として返します。文字列に指定された区切り文字が含まれていない場合、このメソッドは現在の文字列のみを含む配列を返します。 文字列に指定された区切り文字が含まれていない場合、このメソッドは文字列全体を要素として含む配列を返します。 区切り文字として空白を使用して文字列を分割する 文字列を区切り文字として白いペースで文字列の配列に分割するには- ソース文字列を読み取ります。 split()を呼び出す 区切り文字として「」

  2. JavaでGsonを使用するカスタムインスタンスクリエーター?

    Javaオブジェクトとの間でJSON文字列を解析している間、デフォルトでは、Gsonはデフォルトコンストラクタを呼び出してJavaクラスのインスタンスを作成しようとします。 。 Javaクラスにデフォルトのコンストラクタが含まれていない場合、またはJavaオブジェクトの作成中に初期構成を行いたい場合は、独自のインスタンス作成者を作成して登録する必要があります。 InstanceCreator を使用して、Gsonでカスタムインスタンスクリエーターを作成できます インターフェース createInstanceを実装する必要があります (タイプタイプ )メソッド。 構文 T createIn