通常,为了从字符串中删除非单词字符,可以使用replaceAll方法:
String cleanWords = "some string with non-words such as ';'".replaceAll("\\W", "");
以上返回一个已清除的字符串"somestringwithnonwordssuchas".。
但是,如果字符串包含西里尔字母,它们就会被识别为非单词,并从字符串中删除。预计西里尔字母仍将保留。这就是问题所在。
假设字符串具有UTF-8编码,什么是正确的方法来处理移除非单词字符的任务
我在Mac上有nginx,在ubuntu11.10上有生产nginx。在静态网站,我有文件与西里尔字母在文件名。在mac上,系统可以找到它们。在ubuntu nginx上写日志
2: No such file or directory.
具体来说,并非所有的俄罗斯文件名都不被接受。只有那些在文件名中有'й‘字符的人。有什么想法吗?
这不是什么问题。因为当我尝试使用No such file时,我得到了相同的cat <filename>。任何甚至西里尔的文件名都会通过,但是那些带有'й‘的。也许其他一些人物也被打破了,我只是没有偶然发现他们。
字符'й‘是一个标
我使用fontsquirrel生成器为Thonburi和Thonburi粗体生成font-face内容。它们在英语中显示良好,但在西里尔语(俄语)中不显示。相反,该站点将Times New Roman显示为默认的备用字体。我使用高级设置在字体文件中特别包含西里尔文字符。请检查:你甚至可以看到拉丁字符显示在Thonburi中,而俄文是TNR。
它在英文版本中显示正常:
你有什么想法可能是这个问题的根源,以及如何解决这个问题?
它在家里显示得很好,但我已经在Windows上安装了字体。每当我在另一台计算机上第一次打开网站时,RU版本得到的是Times New Roman字体,而不是Thonburi
我试图从混合输入中提取西里尔字母,但无法按我想要的方式拆分。不涉及数字或特殊字符。
input = "я я я я я w w w w w w\nф ф ф ф ф v v v v v v"
output = re.split("![а-я]\s*", input)
print(output)
我想去掉w和v的字母,只打印俄文的字母。对于我的代码,输入和输出是相同的,只不过它们现在在列表中。