如何从字符串中删除特殊字符

问题描述 投票:0回答:1

我正在为我的 Twitch 使用一个机器人,您可以使用集成的 C# 编译器来做很多事情。有时,某些用户安装了一个扩展程序,出于某些不必要的原因,如果他们碰巧连续两次发送相同的消息(或命令),则总是在末尾添加一个奇数字符 - 这也适用于广播公司甚至主持人。

我的一些代码依赖于“Switch”方法来确定到底要做什么。如果该字符不存在,则一切正常,但如果存在,它将使用“默认:”选项。

这是由一个流行的扩展引起的,我已经尝试报告它,但他们坚持认为其目的是绕过 Twitch 的 30 秒唯一消息限制(这是事实,但我关闭了该绕过选项,但它并没有适用于主持人和广播公司),但他们似乎拒绝承认这一点,所以我放弃了报道这一点。因此,现在每当我使用可能在字符串中包含该字符的代码时,我都想修剪掉该特殊字符,但“.TrimEnd()”方法不起作用。有什么想法吗?

该角色的外观如下:第一个只是纯文本(在 Twitch 中显示为空格),第二个是该角色的 URL 编码。我无法将角色粘贴到此处。 有问题的特殊字符 

c#
1个回答
0
投票

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

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.