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

如何从梅特勒托利多秤的RS232输出中提取重量值?

提取梅特勒托利多秤RS232输出中的重量值(C#.NET)

针对你获取到的秤输出格式(如A*0 15 00或A*0 15 0),可以通过以下两种可靠方法提取中间的重量值:

方法1:字符串分割处理

利用输出内容的空格分隔特性,先压缩连续空格再拆分字符串,直接取第二部分(索引为1):

public string ExtractWeight(string rawScaleData)
{
    // 去除首尾空白,将连续空格替换为单个空格,再拆分
    var dataParts = rawScaleData.Trim()
                                .Replace("  ", " ")
                                .Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries);
    
    // 确保拆分后有足够的元素,返回中间的重量值
    return dataParts.Length >= 2 ? dataParts[1] : string.Empty;
}

方法2:正则表达式匹配

针对固定的输出格式,用正则精准匹配中间的重量数值,避免分割可能出现的异常:

using System.Text.RegularExpressions;

public string ExtractWeightViaRegex(string rawScaleData)
{
    // 匹配A*0 + 任意空格 + 重量数字 + 任意空格 + 末尾数字的格式
    // 如果重量可能包含小数,可将正则改为 @"A\*0\s+(\d+\.?\d*)\s+\d+"
    var regexPattern = @"A\*0\s+(\d+)\s+\d+";
    var matchResult = Regex.Match(rawScaleData, regexPattern);
    
    return matchResult.Success ? matchResult.Groups[1].Value : string.Empty;
}

注意事项

  • 如果秤后续输出格式有变化(比如重量带小数、符号),只需调整正则表达式或分割后的索引即可适配;
  • 实际使用时,建议对读取到的原始数据先做非空校验,避免空引用异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 23:31:07