我在Salesforce顶点触发器中使用什么函数来修剪文本字段?



我是第一次写顶点触发器。我看过很多apex开发人员文档,但我似乎找不到我应该使用的函数组合来自动从文本字段中修剪字符。

My org在Case对象上有两个文本字段,它们自动存储包含在email-to- Case中的电子邮件地址。每个文本字段有255个字符的限制。我们看到错误弹出,因为这些字段中包含的电子邮件地址的数量通常超过255个字符。

我需要写一个触发器,可以修剪这些文本字段到最后"。com">之前达到255个字符的限制。

也许我做错了。任何建议吗?

您可以在Apex中使用replace()函数。

String s1 = 'abcdbca';
String target = 'bc';
String replacement = 'xy';
String s2 = s1.replace(target, replacement);

如果您需要使用正则表达式来查找模式,那么您可以使用replaceAll()

String s1 = 'a b c 5 xyz';
String regExp = '[a-zA-Z]';
String replacement = '1';
String s2 = s1.replaceAll(regExp, replacement);

更多信息请参考Apex参考指南

我认为下面的代码涵盖了您正在搜索的内容:

String initialUrl = 'https://stackoverflow.com/questions/69136581/what-function-do-i-use-in-a-salesforce-apex-trigger-to-trim-a-text-field';
Integer comPosition = initialUrl.indexOf('.com');
System.debug(initialUrl.left(comPosition + 4));
//https://stackoverflow.com

我看到的主要问题是没有涵盖其他扩展(如".net")url)和带有"。com"的url;出现在最后一个之前(类似于"https://www.comunications.com")。但是我认为这涵盖了大多数用例。

为什么不增加特定字段的长度?修剪文本可能会导致数据丢失或不可用。去对象管理器找到那个对象和那个特定字段。编辑字段并增加长度。

最新更新