需要替换数字之间的短划线而不替换单词之间的短划线

2020-09-20 18:35发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

以下是一行示例:生物合成瓣膜c。 1995-2001

在上面的声明中,我要替换年份之间出现的短划线,而不是连词中出现的短划线。 有什么方法可以搜索出2个数字字符,然后是短破折号,然后是2个数字字符,并用较长的破折号代替短破折号?

所需的最终结果:生物合成阀,c。 1995—2001

任何帮助将不胜感激!

欢呼

凯伦

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

以下是一行示例:生物合成瓣膜c。 1995-2001

在上面的声明中,我要替换年份之间出现的短划线,而不是连词中出现的短划线。 有什么方法可以搜索出2个数字字符,然后是短破折号,然后是2个数字字符,并用较长的破折号代替短破折号?

所需的最终结果:生物合成阀,c。 1995—2001

任何帮助将不胜感激!

欢呼

凯伦

付费偷看设置
发送
4条回答
小c菟菟
1楼-- · 2020-09-20 19:18

是的,有一种方法可以使用几个变量和公式中的一个循环来实现。 看起来像

 StringVar结果:='';
 Local NumberVar strLen:= Length({MyTable.MyField});
 本地号码Var i:= 1;
 当我<做
 (
   如果{MyTable.MyField} [i] <>'-'然后
     结果:=结果+ {MyTable.MyField} [i]
   其他
     if(i 
   

请注意," chr(336)"是Arial字体中的枚举。 您将需要检查使用的字体,以确定需要使用的字符。

-Dell

wang628962
2楼-- · 2020-09-20 19:18

如果无法在数据库上构建SP,则将报告转换为命令并限制SQL中的字段大小。

伊恩

Tong__Ming
3楼-- · 2020-09-20 19:09

或者您可以只测试数字

如果是isnumeric(replace(yourfield,"-",""),则替换(yourfield,"-"," chr(336)")else yourfield

伊恩

lukcy2020
4楼-- · 2020-09-20 19:18

你好,伊恩

输入的字段内容的示例是:

生物合成阀,c。 1995-2001

我需要将数值之间的破折号(即1995年到2001年之间)作为em破折号,因此我想出了最简单的方法是要求Crystal转换两个数字之后的破折号 2个数字(即介于它们之间),以将破折号变成em破折号。 我之所以要指定2位数字,是因为在某些情况下,用户在日期范围内只能输入2位数字,因此,如果我只搜索2而不是4,就涵盖了所有可能性。

希望如此!

欢呼

Karen

一周热门 更多>