Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法删除c中值之间的某些字符#_C#_.net_String_Replace - Fatal编程技术网

C# 无法删除c中值之间的某些字符#

C# 无法删除c中值之间的某些字符#,c#,.net,string,replace,C#,.net,String,Replace,我正在尝试删除从(包括)rgm到(包括)的字符;1. 输入字符串示例: Sum({rgmdaerudsb;1.Total_Value},{rgmdaerub;1.Major_Value}) 代码: 结果: Sum({rgmdaerub;1.Total_Value},{.Major_Value}) 预期结果: Sum({Total_Value},{Major_Value}) 注意:仅rgm和;1.将保持静态,它们之间的字符将有所不同。为此,我建议使用正则表达式。试试这个: string in

我正在尝试删除从(包括)
rgm
到(包括)
的字符;1.

输入字符串示例:
Sum({rgmdaerudsb;1.Total_Value},{rgmdaerub;1.Major_Value})
代码: 结果:
Sum({rgmdaerub;1.Total_Value},{.Major_Value})
预期结果:
Sum({Total_Value},{Major_Value})

注意:
rgm和;1.
将保持静态,它们之间的字符将有所不同。

为此,我建议使用正则表达式。试试这个:

string input = "Sum ({rgmdaerudsb;1.Total_Value}, {rgmdaerub;1.Major_Value})";
string result = Regex.Replace(input, @"rgm.*?;1\.", "");
说明:

Regex.Replace的第二个参数采用由以下内容组成的模式:

  • rgm(您的起始字符串)
  • (点-表示任何字符)
  • *?(前面的符号可以出现零次或多次,但在第一次可能的匹配时停止(最短))
  • ;1.(结束字符串-需要转义点,否则表示任何字符)

为此,我建议使用Regex。试试这个:

string input = "Sum ({rgmdaerudsb;1.Total_Value}, {rgmdaerub;1.Major_Value})";
string result = Regex.Replace(input, @"rgm.*?;1\.", "");
说明:

Regex.Replace的第二个参数采用由以下内容组成的模式:

  • rgm(您的起始字符串)
  • (点-表示任何字符)
  • *?(前面的符号可以出现零次或多次,但在第一次可能的匹配时停止(最短))
  • ;1.(结束字符串-需要转义点,否则表示任何字符)

    • 您需要使用正则表达式,其表达式类似于
      “rgm(.);1\”
      。这是我不知道的,您必须验证与您的模式匹配的确切正则表达式。然后,使用RegEx.Replace()。

      您需要使用RegEx,其表达式类似于
      “rgm(.);1\”
      。这是我不知道的,您必须验证与您的模式匹配的确切正则表达式。然后,使用RegEx.Replace()。

      请将其重写为一个。很难遵循“代码、结果、代码”而不是“所有代码,准备运行;结果”。(从根本上说,这感觉像是一个正则表达式在这里更有用……您如何期望运行一次的代码来替换两个值?)关于
      strEx=strEx.replace(“rgmdaerub;1.”,”)
      很抱歉,我是一个初学者,但为什么要将您的解决方案作为注释编写?@AlfieGoodacre-仅
      rgm
      ;1.
      将保持不变,它们之间的字符将有所不同。@Mitulátbáti因为刚才已经很清楚的原因,我不是100%确定它会回答OP的问题,所以我对它进行了评论,以防万一-这也不是一个完整的答案,但更多的是一个建议:)请将其改写为一个完整的答案。很难遵循“代码、结果、代码”而不是“所有代码,准备运行;结果”。(从根本上说,这感觉像是一个正则表达式在这里更有用……您如何期望运行一次的代码来替换两个值?)关于
      strEx=strEx.replace(“rgmdaerub;1.”,”)
      很抱歉,我是一个初学者,但为什么要将您的解决方案作为注释编写?@AlfieGoodacre-仅
      rgm
      ;1.
      将保持不变,它们之间的字符将有所不同。@Mitulátbáti因为刚才已经很清楚的原因,我不是100%确定它会回答OP的问题,所以我对它进行了评论,以防万一-这也不是一个完整的答案,但更多的是一个建议:)