我希望得到一些帮助,我正在处理一个项目,SAP CL发票编号来自CRM,例如CL00131713,在我的HTML视图中它正在被正确映射,但是要求说明应该有一个 - 在SAP CL发票编号中。这应该显示为CL-00131713,如下图所示:
我的代码在我的model.cs
中public string SAPCLInvoiceNumber { get; set; }
在我的organisation.cs课程中
result.Add(new InvoiceModel
{
SAPCLInvoiceNumber = invoice.SAPCLInvoiceNumber,
});.
最后在我的HTML中我做了
<tr ng-repeat="invoice in vm.invoices">
<td>
<!-- {{invoice.Number}} -->
{{invoice.SAPCLInvoiceNumber}}
</td>
我相信我需要做一些像
这样的事情SAPCLInvoiceNumber = string.replace("CL","CL - " + string.replace("CL", SAPCLInvoiceNumber ))
请告知
答案 0 :(得分:0)
这样的事情可以解决问题:
string pattern = @"CL";
string substitution = @"CL-";
string input = @"CL00131713";
Regex regex = new Regex(pattern);
string result = regex.Replace(input, substitution);
您可以创建扩展功能以简化通话
public static string FormatClNumber(this string cl)
{
string pattern = @"CL";
string substitution = @"CL-";
string input = cl;
Regex regex = new Regex(pattern);
return regex.Replace(input, substitution);
}
答案 1 :(得分:0)
您可以插入&#34; - &#34;如果不存在,则在第二个字符之后。它是一个非常简单有效的代码:
string s = "CL00131713"; //SAPCLInvoiceNumber
if (s != null & s.Length > 2 && s[2] != '-') s = s.Insert(2, "-");
我认为这是更好更完整的解决方案(例如,检查字符串是否已包含短划线字符,否则如果您将其称为两次oa给定值,则会将其损坏为类似&#34; CL-- 00131713&#34;。)