You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#脚本中解析字符串并查找Twitch聊天消息中的bits字段?

修复方案

错误点梳理

  • 语法错误1:Split方法返回值为字符串数组,你使用string类型单个变量接收,本身就会触发编译失败
  • 语法错误2:C#的Split方法不能直接传入两个字符串当分隔符,需要传入字符数组作为多分隔符参数
  • 语法错误3:C#没有string "bits" in 数组的判断语法,判断数组包含元素需要调用对应方法

修复代码

方案1:拆分后判断(需要先引入LINQ命名空间)

先在代码顶部加引用:

using System.Linq;

修改GameInputs方法为:

private void GameInputs(string ChatInputs)
{
    string[] searchParts = ChatInputs.Split(new char[] { ';', '=' });
    if (searchParts.Contains("bits"))
    {
        print("I made it here.");
        // 可选:获取本次打赏的Bits数量
        int bitsIndex = Array.IndexOf(searchParts, "bits");
        if (bitsIndex + 1 < searchParts.Length)
        {
            int bitsCount = int.Parse(searchParts[bitsIndex + 1]);
            print($"打赏Bits数量:{bitsCount}");
        }
    }
}

方案2:直接匹配特征字符串(无需额外引用,性能更好)

不需要修改引用,直接改GameInputs即可:

private void GameInputs(string ChatInputs)
{
    // Twitch消息中bits字段固定为;bits=的格式,不会出现在其他位置,直接判断即可
    if (ChatInputs.Contains(";bits="))
    {
        print("I made it here.");
        // 可选:获取本次打赏的Bits数量
        int startIndex = ChatInputs.IndexOf(";bits=") + 6;
        int endIndex = ChatInputs.IndexOf(';', startIndex);
        int bitsCount = int.Parse(ChatInputs.Substring(startIndex, endIndex - startIndex));
        print($"打赏Bits数量:{bitsCount}");
    }
}

内容的提问来源于stack exchange,提问作者Blitex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 12:15:06