我正在尝试编写一种方法,该方法将从Java中删除所有非字母字符String[]
,然后将String转换为小写字符串。我尝试使用正则表达式将所有非字母字符的出现替换为。""
但是,我得到的输出无法执行此操作。这是代码
static String[] inputValidator(String[] line) {
for(int i = 0; i < line.length; i++) {
line[i].replaceAll("[^a-zA-Z]", "");
line[i].toLowerCase();
}
return line;
}
但是,如果我尝试提供具有非字母的输入(例如-
或.
),则输出也将由它们组成,因为它们不会被删除。
输入示例
A dog is an animal. Animals are not people.
我得到的输出
A
dog
is
an
animal.
Animals
are
not
people.
预期的输出
a
dog
is
an
animal
animals
are
not
people
问题是您的更改没有存储,因为字符串是不可变的。每个方法调用都返回一个String
表示更改的新值,而当前值String
保持不变。您只需要将返回的数据存储String
回数组中即可。
line[i] = line[i].replaceAll("[^a-zA-Z]", "");
line[i] = line[i].toLowerCase();
因为每个方法都返回a,所以String
您可以将方法调用链接在一起。这将在第一个方法的结果上执行第二个方法调用,使您可以在一行中同时执行两个操作。
line[i] = line[i].replaceAll("[^a-zA-Z]", "").toLowerCase();
问题内容: 我正在编写python MapReduce字数统计程序。问题是数据中散布着许多非字母字符,我发现这篇文章从Python的字符串中剥离了除了字母数字字符之外的所有内容,这显示了使用正则表达式的一个很好的解决方案,但是我不确定如何实现它 恐怕我不确定该如何使用该库甚至正则表达式。我不确定如何将正则表达式模式正确地应用于传入的字符串(书的一行)以检索没有任何非字母数字字符的新行。 有什么建议
问题内容: 我想将以下字符串转换为提供的输出。 我还没有发现,将处理特殊字符,如任何解决方案,,,等。 基本上,我只是想摆脱所有不是字母数字的东西。这是我尝试过的… 尝试多个步骤 结果 任何帮助,将不胜感激。 工作解决方案: 问题答案: 删除非字母数字字符 以下是/正确的正则表达式,用于从输入字符串中去除非字母数字字符: 请注意,这等效于-它包括下划线字符。要删除下划线,请使用例如: 输入格式错误
如何在Java中从字符串中删除所有非字母数字阿拉伯字符?
问题内容: 我们如何从Python字符串中删除所有非数字字符? 问题答案:
问题内容: 尝试删除所有非0-9的字母和字符和一个句点。我正在使用,但它也会删除小数,如何也保留小数? 问题答案: 试试这个代码: 现在将包含。
我正在尝试用Java编写一个正则表达式,它从段落中删除所有非字母数字字符,但单词之间的空格除外。 如何修复此错误?