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

リストから入力文字列のすべての近い一致を見つけるJavaプログラム


リストから入力文字列のすべての近い一致を見つけるためのJavaコードは次のとおりです-

import java.io.*;
import java.util.*;
public class Demo{
   static String string_encoding(String str){
      HashMap<Character, Integer> my_map = new HashMap<>();
      String result = "";
      int i = 0;
      char ch;
      for (int j = 0; j < str.length(); j++) {
         ch = str.charAt(j);
         if (!my_map.containsKey(ch))
         my_map.put(ch, i++);
         result += my_map.get(ch);
      }
      return result;
   }
   static void match_words( String[] my_arr, String my_pattern){
      int len = my_pattern.length();
      String hash_val = string_encoding(my_pattern);
      for (String word : my_arr){
         if (word.length() == len && string_encoding(word).equals(hash_val))
         System.out.print(word + " ");
      }
   }
   public static void main(String args[]){
      String[] my_arr = { "mno", "aabb", "pqr", "xxyy", "mmnn" };
      String my_pattern = "ddcc";
      System.out.println("The patterns similar to ddcc in the array are :");
      match_words(my_arr, my_pattern);
   }
}

出力

The patterns similar to ddcc in the array are :
aabb xxyy mmnn

Demoという名前のクラスには、「string_encoding」という関数が含まれています。この関数はハッシュマップを作成し、文字列を反復処理して、問題の文字列に一致するパターンがあるかどうかを確認します。

'match_words'という名前の別の関数が定義されています。この関数は、'string_encoding'関数を呼び出し、参照として指定された文字列のパターンと配列に一致するものがあるかどうかを確認します。見つかった場合、その単語が返されます。 main関数では、文字列配列がパターンとともに定義されます。 'match_words'関数はこのパターンで呼び出されます。関連する出力がコンソールに表示されます。


  1. Pythonのリストから入力文字列のすべての近い一致を検索します

    単語が与えられ、それに最も近いものを見つけたいとします。完全に一致するわけではありませんが、特定の単語とパターンが似ている他の単語。このために、difflibというモジュールを使用し、get_close_matchesという名前のメソッドを使用します。 get_close_matches このメソッドはモジュールdifflibの一部であり、指定した可能なパターンとの一致を提供します。以下は構文です。 difflib.get_close_matches(word, possibilities, n, cutoff) word: It is the word to which we need

  2. リストから入力文字列のすべての近い一致を見つけるPythonプログラム

    このチュートリアルでは、問題の解決策を見つけます。問題が何であるか見てみましょう。 文字列のリストがあります および要素 。 文字列を見つける必要があります それらが与えられた要素に厳密に一致しなければならないリストから。例を参照してください。 Inputs strings = ["Lion", "Li", "Tiger", "Tig"] element = "Lion" Ouput Lion Li これは、 startswithを使用して実現できます。 組み込みメソッド。文字列を見つける手順