स्प्लिट फ़ंक्शन का उपयोग करके मैट्रिक्स में एक स्ट्रिंग खोजने के लिए, कोड इस प्रकार है -
उदाहरण
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
डेमो नामक एक वर्ग 'search_String' नामक एक फ़ंक्शन को परिभाषित करता है जो स्ट्रिंग को विभाजित करता है और स्ट्रिंग की लंबाई को देखने के लिए जांचता है। यदि पूरी पंक्ति पर स्ट्रिंग का कब्जा है, तो फ़ंक्शन 0 की लंबाई वाली सरणी देता है।
यदि हम जिस स्ट्रिंग की तलाश कर रहे हैं, वह स्ट्रिंग के वर्णों के बीच मौजूद है, तो सरणी की लंबाई 1 से अधिक होगी। सरणी की लंबाई 1 हो सकती है यदि:
- खोज स्ट्रिंग सरणी के पहले भाग में होती है।
- खोज स्ट्रिंग सरणी के अंतिम भाग में होती है।
- खोज स्ट्रिंग सरणी में मौजूद नहीं है।
'वर्टिकल_सर्च' नाम का एक अन्य फ़ंक्शन मैट्रिक्स में लंबवत रूप से खोज स्ट्रिंग की जांच करता है। मैट्रिक्स के कॉलम में स्ट्रिंग को खोजने के लिए, मैट्रिक्स को ट्रांसपोज़ किया जाता है और फिर से खोजा जाता है।