如何在数组中搜索特定字符串并在java中将其删除

时间:2012-11-17 06:45:47

标签: java

我有一个填充了一百个字符串的数组。我希望能够使用用户给出的输入,通过方法参数传递,搜索该确切的字符串,并将其删除。我该怎么做呢?此外,我将如何做同样的事情而不是添加它?

5 个答案:

答案 0 :(得分:2)

这样的东西?

import java.util.Scanner;

public class StringSearch 
{
    public static void main(String[] args) 
    { 
        String[] nameArray = {"Stack", "Overflow"};
        String newName;
        int index;
        Scanner keyboard = new Scanner(System.in);
        System.out.print("\nPlease enter in a name: ");
        newName = keyboard.nextLine();
        index = nameSearch(nameArray, newName);
        if (index != -1) {
            System.out.print("\nFound the name " + newName );
        }
        else {
            System.out.print("\nCannot find specified name " + newName);
        }
    }


    public static int nameSearch(String[] names, String name)
    {
        for (int n = 0; n < names.length; n++) {
            if (names[n].equals(name)) {
                return n;
            }
        }
        return -1;
    }
}

如果你想实现删除,你可以删除像这样的数组

List<String> list = new ArrayList<String>(Arrays.asList(array));
list.remove("thing to remove");
array = list.toArray(array);

答案 1 :(得分:0)

将您的数组转换为String(char[] value),然后使用类似public String replaceAll(String regex,String replacement)

的内容

答案 2 :(得分:0)

String arrayvalues[] ={some set of strings};

public void methodToReplace(String st)    
{
String inputfromuser =st;

    for(int i=0;i<arrayvalues;i++)
    {
    if(inputfromuser.equals(arrayvalues[i]))
         arrayvalues[i] ="new values";

    }

}

答案 3 :(得分:0)

使用List而不是数组会容易得多。

您可以将数组转换为List,如下所示:

String[] stringArray = populateArray();
List<String> stringList = Arrays.asList(stringArray);

您可以将List转换为如下数组:

String[] stringArray = stringList.toArray(new String[0]);

答案 4 :(得分:0)

你可以做的事情是:

1)无论数组中的元素是什么,只需将该数组转换为List

即可

2)一旦你拿到了清单,所有的东西都比较容易。

3)只需使用contains methos来查找此列表是否包含指定的元素。

4)并相应地使用List的添加/删除方法。