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

标签 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...";

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

这有望给我留下:

string message = "I AM A STRING. I AM A STRING AND DO LOTS OF THINGS...";

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

最佳答案

使用

StringBuilder.Replace
StringBuilder.Remove 

它们是 available在 .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();
        } 

用法:

        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);

关于c# - 如何删除所有出现的字符/子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27964282/

相关文章:

Python 'String Index Out of Range Error'?

visual-studio - 从 msbuild 调用 VS 自定义工具

c# - GDI+画线算法

c# - C# 有类似于 C++ std::equal_range 的东西吗?

SQL Server 2008 - 默认列值 - 我应该使用 null 还是空字符串?

javascript - 为什么我的正则表达式忽略字符串的开头和结尾?

c# - 如何在 c#/NETMF 中创建 JSON 字符串?

.net - 从微 Controller (带有 .Net Micro Framework 的 Arduino 或 Fez)连接到 SQL Server

c# - 为什么.net 2.0 比 4.0 快

c# - 同时使用 Web API 和 MVC 进行模型复制