首页 > 其他 > 详细

Partial Word Searching

时间:2015-02-09 23:00:05      阅读:318      评论:0      收藏:0      [点我收藏+]

Write a method that will search an array of strings for all strings that contain another string, ignoring capitalization. Then return an array of the found strings.

The method takes two parameters, the query string and the array of strings to search, and returns an array.

If the string isn‘t contained in any of the strings in the array, the method returns an array containing a single string: "Empty".

Example: If the string to search for is "me", and the array to search is ["home", "milk", "Mercury", "fish"], the method should return ["home", "Mercury"].

import java.util.Arrays; class WordSearch { static String[] findWord(String x, String[] y){ final String xLower = x.toLowerCase(); String[] searchResults = Arrays.stream(y) .filter(s -> s.toLowerCase().contains(xLower)) .toArray(size -> new String[size]); return searchResults.length > 0 ? searchResults : new String[] {"Empty"}; } }

class WordSearch { static String[] findWord(String x, String[] y) { List<String> found = new ArrayList<>(); x = x.toLowerCase(); for(String str : y) { if(str.toLowerCase().indexOf(x) > -1) { found.add(str); } } return found.size() > 0 ? found.toArray(new String[0]) : new String[]{"Empty"}; } }

class WordSearch { static String[] findWord(String x, String[] y){ ArrayList<String> sols = new ArrayList<String>(); for(int i = 0; i < y.length; i++) { if(y[i].toLowerCase().contains(x.toLowerCase())){ sols.add(y[i]); } } String[] empty = {"Empty"}; return sols.isEmpty() ? empty : sols.toArray(new String[sols.size()]); } }

Partial Word Searching

原文:http://www.cnblogs.com/lgaigai/p/4282583.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!