如何检查消息中是否有组合字符?

2022-09-03 07:02:49

.

.

.

Example: กิิิิิิิิิิิิิิิิิิิิ ก้้้้้้้้้้้้้้้้้้้้ ก็็็็็็็็็็็็็็็็็็็็ ก็็็็็็็็็็็็็็็็็็็็ กิิิิิิิิิิิิิิิิิิิิ ก้้้้้้้้้้้้้้้้้้้้ ก็็็็็็็็็็็็็็็็็็็็ กิิิิิิิิิิิิิิิิิิิิ ก้้้้้้้้้้้้้้้้้้้้ กิิิิิิิิิิิิิิิิิิิิ ก้้้้้้้้้้้้้้้้้้้้ ก็็็็็็็็็็็็็็็็็็็็ ก็็็็็็็็็็็็็็็็็็็็ กิิิิิิิิิิิิิิิิิิิิ ก้้้้้้้้้้้้้้้้้้้้ ก็็็็็็็็็็็็็็็็็็็็ กิิิิิิิิิิิิิิิิิิิิ ก้้้้้้้้้้้้้้้้้้้้ (or any "zalgo" text)

我无法完全弄清楚任何方法来检查这些。我正在制作一种反垃圾邮件,我不认为有必要保留这些,因为它们可能会滞后于用户,并且通常是垃圾邮件。

我想做的是

if (getMessage().getRawContent().contains(combined character).delete();

如果有人知道检查组合字符的简单方法,请发布!

如果您对我的要求感到困惑,我可以进一步解释它,并在需要时展示更多示例。


答案 1

在很多情况下,一个或两个连续的组合字符是完全有效的文本。我会寻找其中的四个或更多:

if (getMessage().getRawContent().matches(".*\\p{Mn}{4}.*"))

答案 2

推荐