CSneko / toNeko

喵喵喵~
https://modrinth.com/mod/tonekomod
GNU General Public License v3.0
35 stars 7 forks source link

[应该是bug]别称功能仅支持英文,不支持中文 #6

Closed xiaole29999 closed 8 months ago

xiaole29999 commented 9 months ago

复现环境:System Info: Java 20 (Java HotSpot(TM) 64-Bit Server VM 20.0.1+9-29) Host: Windows 11 10.0 (amd64) 服务器核心:purpur-1.20.1-2062.jar 复现操作:按照对应操作可复现 具体描述:别称替换仅支持英文,不支持中文,如果是中文会原样输出,英文正常 插件版本:toNeko-0.0.4,ctLib0.0.2 (这么快的原因最近在学怎么做插件,就想拿这个功能练手,发现自己没法实现中文替换的同时看到0.0.4出了,就测试了,发现作者的也不行)

CSneko commented 9 months ago

刚才测试的时候也发现了这个问题,但并不是不支持中文,而是对中文支持不是很好,例如: 别称为:abc 那么 "abcd"将还是"abcd",如果是"abc,d"或"abc d"将会被正常替换,中文同理,不过由于输入习惯,中文通常不会在名称前后加空格,这导致中文的支持性不是很好,在0.0.5版本会尝试使用另外一种方法来替换字符从而解决改问题

xiaole29999 commented 9 months ago

好的,了解了,我刚刚又测试了下,确实是这样的 如果继续使用目前的替换方式,好像就得分词了,而且分词也有很大概率支持性不好,其他方法应该可以更好解决这个问题

CSneko commented 9 months ago

问题的原因其实在于正则表达式,去除正则表达就可以被替换了