如何删除所有出现的字符/子字符串?

jbu*_*483 5 c# string .net-micro-framework

我正在使用 .NET Micro Framework 4.1,据我所知,它没有实现Regex类或String.Replace/String.Remove方法。

我有一个字符串定义为:

string message = "[esc]vI AM A STRING. [esc]vI AM A STRING AND DO LOTS OF THINGS...";
Run Code Online (Sandbox Code Playgroud)

有没有办法[esc]v从这个字符串中删除所有出现的?在 NetMF 中在哪里使用转义字符 ( 0x1B) 后跟0x76

这有望让我得到:

string message = "I AM A STRING. I AM A STRING AND DO LOTS OF THINGS...";
Run Code Online (Sandbox Code Playgroud)

我想过可能会使用该String.Split()方法,但这似乎对内存要求太高,因为代码在内存较小的 NETMF 板上运行。

Eri*_*sot 4

使用

StringBuilder.Replace
StringBuilder.Remove 
Run Code Online (Sandbox Code Playgroud)

它们在 .NET Micro Framework 版本 2.5、3.0、4.0 和 4.1 中可用。

        public static string fixStr(string message, char c)
        {
          StringBuilder aStr = new StringBuilder(message);
          for (int i = 0; i < aStr.Length; i++)
          {
            if (aStr[i] == c)
            {
                aStr.Remove(i, 1);
            }
          }
          return aStr.ToString();
        } 
Run Code Online (Sandbox Code Playgroud)

用法:

        string message = "" + (char)0x1B + (char)0x76 + "I AM A STRING. " + (char)0x1B + (char)0x76 + "I AM A STRING AND DO LOTS OF THINGS...";

        message = fixStr(message, (char)0x76);
        message = fixStr(message, (char)0x1B);
Run Code Online (Sandbox Code Playgroud)