如何在 Java 中删除字符串中的所有非字母数字字符
原文:https://www . geesforgeks . org/如何从 java 字符串中删除所有非字母数字字符/
给定一个字符串 str ,任务是从中删除所有非字母数字字符并打印修改后的字符。 例:
输入: @!极客-为'极客,123 T3】输出:极客 forgeeks 123 T6】解释: at 符号(@),感叹号(!)、破折号(-)、撇号(')和逗号(,)被删除。
输入: Geeks_for$ Geeks?{}[] 输出:geeks forges 解释:下划线(_)、美元符号($)、空格、问号(?),大括号({})和方括号([])被删除。
输入:geesforgeeks 123 输出:geesforgeeks 123 说明:不需要删除任何字符,因为给定的字符串没有任何非字母数字字符。
方法 1:使用 ASCII 值 由于字母数字字符对于大写字母来说位于 ASCII 值范围[65,90]内,对于小写字母来说位于 ASCII 值范围[97,122]内,对于数字来说位于 ASCII 值范围[48,57]内。因此,逐字符遍历字符串并获取每个字符的 ASCII 值。如果 ASCII 值不在上述三个范围内,则该字符是非字母数字字符。因此,跳过这些字符,将其余字符添加到另一个字符串中并打印出来。
方法 2:使用 String.replaceAll() 非字母数字字符包括除字母和数字之外的所有字符。可以是感叹号(!),在符号(@) ,逗号(,,问号(?)、冒号(:)、破折号(-) 等以及特殊字符如美元符号($) 、等号(=) 、加号(+) 、撇号(')。
方法是使用 String.replaceAll 方法将所有非字母数字字符替换为空字符串。
下面是上述方法的实现:
Java 语言(一种计算机语言,尤用于创建网站)
// Java program to remove non-alphanumeric
// characters from a string
class GFG {
// Function to remove non-alphanumeric
// characters from string
public static String
removeNonAlphanumeric(String str)
{
// replace the given string
// with empty string
// except the pattern "[^a-zA-Z0-9]"
str = str.replaceAll(
"[^a-zA-Z0-9]", "");
// return string
return str;
}
// Driver Code
public static void main(String args[])
{
// Test Case 1:
String str1
= "@!Geeks-for'Geeks, 123";
System.out.println(
removeNonAlphanumeric(str1));
// Test Case 2:
String str2
= "Geeks_for$ Geeks?{}[]";
System.out.println(
removeNonAlphanumeric(str2));
// Test Case 3:
String str3
= "GeeksforGeeks123";
System.out.println(
removeNonAlphanumeric(str3));
}
}
**Output
``` GeeksforGeeks123 GeeksforGeeks GeeksforGeeks123
```**
*方法 3:使用正则表达式* 另一种方法涉及使用正则表达式。可以使用 regex【^a-za-z0-9】轻松过滤字符串。
版权属于:月萌API www.moonapi.com,转载请注明出处