码迷,mamicode.com
首页 > 其他好文 > 详细

Partial Word Searching

时间:2015-02-09 23:03:22      阅读:246      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!