我正在使用 .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/