点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,我有一个字符串"Jamesàèø",我想为每个特殊字符分配一个值,并将其替换为该值。
期望的O/p = JamesKP
但是CPI中的常规脚本不能替代它们。 相反,它附加了它们,甚至不认识它们。
脚本
String formatSpecialChars(String stringToBeFormatted){
列表
映射emptyStringMap = [:]
emptyValueReplacements.each {it->
emptyStringMap [it] =''}映射otherStringReplacements = [''':'K','è':'P'] + emptyStringMap
otherStringReplacements.each {键,值->
stringToBeFormatted = stringToBeFormatted.replaceAll(key,value);
}
stringToBeFormatted}
嗨,Sruthi,
您是否尝试过将Unicode字符转义为字符,而不是如下所述的实际字符?
http://groovy-lang.org/syntax.html#_unicode_escape_sequence
最诚挚的问候,
Ivan
嗨,Sruthi,
可能无法更改Groovy解释Unicode字符的方式。 我相信这将需要在工具启动本身中设置环境变量(当前不支持AFAIK)。 为此,我知道所有客户都需要此设置,因为正确阅读脚本也需要此设置。 默认情况下,脚本使用扩展的ANSI字符集存储在文件系统中。 对于语言本身,这个ANSI集应该足够了。 因此,这就是处理特殊字符时必须使用Unicode转义序列存储特殊字符的原因。
另一方面,在我看来,您正在使用Groovy脚本处理特定文件或有效负载的编码/解码。 我相信您可以使用适配器设置来告知编码,而不是通过这种方式进行编码,以便将数据解释为已经解释为有效负载的脚本中的数据。
但是,如果这对于SCI是绝对必需的 而不是建议您定义unicode序列图。 然后,您可以用unicode转义序列替换人类可读字符串中的每个字符。
希望此信息有所帮助。
最好的问候,
Ivan
一周热门 更多>