文本资源管理器中的区分大小写处理学术领域的用户问我是否可以选择在文本资源管理器平台。
请运行以下脚本作为示例。 他想将单词显示为“JMP”在报告中,但 JMP 的文本资源管理器返回“跳” .
dt = New Table("Test", New Column("Y", Character, Values({"JMP JMP JMP JMP JMP JMP"})));
dt << Text Explorer(
Text Columns( :Y ),
Set Regex( Custom( Title( "Test" ), Regex( "\[(.+?(\s|\Z))]\" ), Result( "\[\1]\" )))
);
[背景]
他的数据中几乎所有字符都是日文的。 只有很小一部分字符是字母。 他通过其他软件提取单词,并创建单词列表。 在他的标记化数据中,每个单词都用空格分隔。 (我的意思是他用 JMP 以外的其他软件标记他的数据。) 他希望 JMP 按原样处理这些标记化的词。
回复:文本资源管理器中的区分大小写处理解析文本的第一步是在任何一种解析方法开始之前将其转换为全小写。 我尝试将一个函数(例如,Title Case(string))应用于Regex 的返回结果,但是你得到一个表达式而不是一个字符串。 (嗯?)
如果此类标记的列表很小,那么文本资源管理器中的重新编码规则可能是要走的路。 它们可以编写脚本,因此可以从异常列表中构建代码。
回复:文本资源管理器中区分大小写的处理非常感谢您的建议。
我也试过
Title Case(\1)
和
Upper Case(\1)
对于正则表达式的结果。 如您所见,它返回“title case(jmp)”和“upper case(jmp)”。
Recode 选项似乎也以不区分大小写的方式处理字符。 即使我在重新编码窗口中将“jmp”更改为“JMP”,文本资源管理器也会变回小写字符(即“jmp”)。
无论如何,我非常感谢你的建议。 我强烈认为没有选项可以像在文本资源管理器中那样对待字符。
一般来说,日语文本的标记化是一项非常艰巨的任务。 因此,用户使用其他软件进行标记化。 用户必须同意区分大小写的处理是一种非常罕见的用法(尤其是对于西方语言)。