如何在 Java 中删除字符串中的标点符号
原文:https://www.studytonight.com/java-examples/how-to-remove-punctuation-from-string-in-java
在本教程中,我们将学习如何在 Java 中删除字符串中的标点符号。我们括在方括号中的所有字符都被归类为标点符号[ ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ ] ^ _
{ | } ~` ]。这些基本上是任何语言语法的一部分。Java 提供了几种从字符串中删除这些内容的方法。
考虑到
str
是字符串,使用正则表达式去除标点符号非常简单,下面是单行代码,方便快速直觉。
str.replaceAll("\\p{Punct}", "");
现在,让我们正式看一下从字符串中删除标点符号的完整程序。
使用 replaceAll()从字符串中删除标点符号的示例
在下面的代码中,我们使用正则表达式调用replaceAll()
方法,该方法将找到字符串中存在的所有标点符号字符,并将其替换为空字符串(""
),看起来标点符号被删除了。
更多信息,可以参考本官方文档:模式(Java SE 14&JDK 14)(oracle.com)。
public class StudyTonight
{
public static void main(String[] args)
{
String str = "?This String $% Contains$$ punctuation !!";
str = str.replaceAll("\\p{Punct}","");
System.out.println(str);
}
}
该字符串包含标点符号
正则表达式不是一个非常直观的东西,所以我们将看一些非常基本的东西。
使用 isLetterOrDigit()方法从字符串中删除标点符号的示例
在下面的代码中,我们首先使用toCharArray()
将一个字符串转换成一个字符数组,然后使用isLetterOrDigit()
确定当前字符是数字还是字母,如果是,我们将把它附加到结果字符串中,它将形成一个新的字符串。
public class StudyTonight
{
public static void main(String[] args)
{
String str = "?This String $% Contains$$ punctuation !!";
String res = "";
for (Character c : str.toCharArray())
{
if(Character.isLetterOrDigit(c))
res += c;
}
System.out.println(res);
}
}
道德字串包含溢漏情况
结论:
在本文中,我们学习了从给定的字符串中删除标点符号。这是一个简单的任务,结合了像replaceAll()
和isLetterOrDigit().
这样的正则表达式和 Java 方法