Android 开发:过滤字符串保留英文和阿拉伯数字
以下是一个示例代码,用于过滤字符串中的非英文和阿拉伯数字:
public interface LanguageFilter {
String filter(String input);
}
public class LanguageFilterImpl implements LanguageFilter {
@Override
public String filter(String input) {
StringBuilder filteredText = new StringBuilder();
for (char c : input.toCharArray()) {
if (Character.isLetterOrDigit(c) && (Character.UnicodeScript.of(c) == Character.UnicodeScript.LATIN ||
Character.UnicodeScript.of(c) == Character.UnicodeScript.ARABIC)) {
filteredText.append(c);
}
}
return filteredText.toString();
}
}
public class Main {
public static void main(String[] args) {
String text = 'Hello, 你好, 123, привет, สวัสดี, مرحبا';
LanguageFilter filter = new LanguageFilterImpl();
String filteredText = filter.filter(text);
System.out.println(filteredText); // Output: Hello123مرحبا
}
}
在上述示例中,LanguageFilter接口定义了一个filter方法,用于过滤字符串中的非英文和阿拉伯数字。LanguageFilterImpl是实现了LanguageFilter接口的具体过滤器类,它会遍历输入字符串的每个字符,判断是否为英文字符或阿拉伯数字,然后将其添加到一个StringBuilder中。最后,返回过滤后的字符串。
在Main类的main方法中,我们创建了一个示例字符串text,然后使用LanguageFilterImpl类的实例来过滤这个字符串。最后,我们将过滤后的字符串打印输出。输出结果是只保留了英文和阿拉伯数字的字符串:'Hello123مرحبا'。
原文地址: https://www.cveoy.top/t/topic/pVu6 著作权归作者所有。请勿转载和采集!