绑定模型添加字符串替换为 - ?

时间:2018-01-08 10:30:15

标签: c# html

我希望得到一些帮助,我正在处理一个项目,SAP CL发票编号来自CRM,例如CL00131713,在我的HTML视图中它正在被正确映射,但是要求说明应该有一个 - 在SAP CL发票编号中。这应该显示为CL-00131713,如下图所示:

enter image description here

我的代码在我的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 )) 

请告知

2 个答案:

答案 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;。)