关于python的功能和java代码中可能的解决方案

时间:2018-02-22 17:32:23

标签: java python

我是一名java开发人员。我在Python中使用的是一种服务(不是由我编写的),现在已不再可用了。

我有源代码,我需要用Java来隐藏它的一部分。你能用这两行代码帮助我吗?

name = unicodedata.normalize('NFKD', unicode(name, 'utf_8', errors='ignore')).encode('ASCII', 'ignore')
name = re.sub('[^a-z0-9]', '', name.replace('&', 'and').replace('+', 'plus').replace('*', 'star').lower()

一开始就导入了这些包:

import os, re, unicodedata

据我所知,字符串“name”使用“规范化表单兼容性组合”进行规范化,为此我找到了相应的Java函数:

String name="Test";
name = Normalizer.normalize(name, Normalizer.Form.NFKD);

但我不知道如何翻译第二行:我搜索了re.sub的定义,我发现了这个:

  

返回通过替换最左边的非重叠获得的字符串   替换repl在字符串中出现模式。如果   找不到模式,字符串返回不变。 repl可以是一个   字符串或函数;如果它是一个字符串,任何反斜杠都会在其中转义   正在处理中。也就是说,\ n被转换为单个换行符,   \ r \ n转换为回车符,依此类推。未知的逃脱   比如\ j是独自留下的。反序列,例如\ 6,将被替换   在模式中使用与第6组匹配的子字符串。

但我不明白这是什么意思......

最好也是反之亦然:所以从标准化和修改后的字符串中得到原始字符串。

任何帮助都将不胜感激。

0 个答案:

没有答案