我正在为我的 Twitch 使用一个机器人,您可以使用集成的 C# 编译器来做很多事情。有时,某些用户安装了一个扩展程序,出于某些不必要的原因,如果他们碰巧连续两次发送相同的消息(或命令),则总是在末尾添加一个奇数字符 - 这也适用于广播公司甚至主持人。
我的一些代码依赖于“Switch”方法来确定到底要做什么。如果该字符不存在,则一切正常,但如果存在,它将使用“默认:”选项。
这是由一个流行的扩展引起的,我已经尝试报告它,但他们坚持认为其目的是绕过 Twitch 的 30 秒唯一消息限制(这是事实,但我关闭了该绕过选项,但它并没有适用于主持人和广播公司),但他们似乎拒绝承认这一点,所以我放弃了报道这一点。因此,现在每当我使用可能在字符串中包含该字符的代码时,我都想修剪掉该特殊字符,但“.TrimEnd()”方法不起作用。有什么想法吗?
该角色的外观如下:第一个只是纯文本(在 Twitch 中显示为空格),第二个是该角色的 URL 编码。我无法将角色粘贴到此处。 有问题的特殊字符
.TrimEnd()
不起作用,该字符很可能是不可打印或零宽度字符,C#可能不会将其视为典型的空白。
您可以检查一下,根据您共享的图像
%F3%A0%80%80
获取该字符的Unicode代码点,该图像对应于Unicode字符U+F0000
。
使用 Unicode 表示替换字符串中的特定字符。
例如:
using System;
public class Program
{
public static void Main()
{
string input = "your_string_here"; //your string
string specialChar = char.ConvertFromUtf32(0xF0000);
// Remove the special character
string cleanedInput = input.Replace(specialChar, "");
Console.WriteLine("Original: " + input);
Console.WriteLine("Cleaned: " + cleanedInput);
}
}
希望这有帮助。