gpt4 book ai didi

java - 在 ColdFusion 中规范化字符串

转载 作者:搜寻专家 更新时间:2023-11-01 01:17:56 24 4
gpt4 key购买 nike

我正在尝试在 ColdFusion 中规范化一个字符串。

我想为此使用 Java 类 java.text.Normalizer,因为据我所知,CF 没有任何类似的功能。

这是我当前的代码:

<cfset normalizer = createObject( "java", "java.text.Normalizer" ) />
<cfset string = "äéöè" />
<cfset string = normalizer.normalize(string, createObject( "java", "java.text.Normalizer$Form" ).NFD) />
<cfset string = ReReplace(string, "\\p{InCombiningDiacriticalMarks}+", "") />
<cfoutput>#string#</cfoutput>

知道为什么它总是输出 äéöè 而不是规范化字符串吗?

最佳答案

在 ColdFusion 中,与 Java 不同,您不需要转义字符串文字中的反斜杠。您当前的正则表达式不会匹配任何不以反斜杠开头的内容,因此不会发生替换。

除此之外,您的代码完全正确,您可以看到输出时字符串的长度是 8,而不是 4。这是 normalize 调用的效果。

但是,请记住它仍然是原始字符串的等价表示,因此您无法从视觉上分辨出差异也就不足为奇了。这是实际的正确 Unicode 呈现。

关于java - 在 ColdFusion 中规范化字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11626050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com