1. 引言
非打印Unicode字符包括控制字符、样式标记和其他在文本中可见但并非用于显示的不可见符号。此外,这些字符可能会在文本处理、显示和保存时引起问题。因此,根据需要找到替换或消除这些字符的方法非常重要。
在本教程中,我们将探讨不同的替换方法。
2. 使用正则表达式
Java的_String_类有强大的文本处理功能,正则表达式提供了一种简短的方式来匹配和替换字符串中的模式。我们可以使用简单的模式来查找和更改非打印的Unicode字母,如下所示:
@Test
public void givenTextWithNonPrintableChars_whenUsingRegularExpression_thenGetSanitizedText() {
String originalText = "\n\nWelcome \n\n\nto Baeldung!\n\t";
String expected = "Welcome to Baeldung!";
String regex = "[\\p{C}]";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(originalText);
String sanitizedText = matcher.replaceAll("");
assertEquals(expected, sanitizedText);
}