0

是否可以将字符串与android中的数组进行比较?这是使用我正在为我的论文开发的 Porter Stemmer 的字典应用程序。

例如,输入单词是 PROCESSES(放置在 char 数组中),我想扫描输入是否包含“s”、“es”或“sses”,然后删除它们。

我想逐个字母比较,但我相信这将是一个乏味的编码。有没有更简单的方法来比较输入单词,如下所示:

If ( inputWord has string "es" )
 {
   delete "es
 }

example input: PROCESSES
example output: PROCESS
4

3 回答 3

1

您可以使用 String.contains 和 String.replaceAll 功能:

//if (inputWord.contains("es")) {
    inputWord.replaceAll("es", "");
//}

不需要if语句,也可以直接替换。如果没有找到该字符串,它不会做任何事情。

于 2013-01-07T09:05:23.347 回答
1
if(inputWord.contains(checkWord))
{
    int i = inputWord.indexOf(checkWord);
    StringBuilder sb = new StringBuilder(inputWord);
    sb = sb.delete(i, i+(checkWord.length()));
    inputWord = sb.toString();
}

将您的值存储在字符串中。它会更容易。希望这段代码对您有所帮助。如果您必须检查多个单词,请将所有单词存储在一个数组中,并将此代码段放入 for 循环中。

于 2013-01-07T09:41:19.563 回答
0

也许我不明白你的问题,但你可以在Stringchar[]using之间转换

char[] data = {'a', 'b', 'c'};
String str = new String(data);

String str = "abc";
char[] data = toCharArray();

您可以使用indexOf(String)contains(String)检查是否包含子字符串。

于 2013-01-07T09:07:51.663 回答