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

如何将纯数字长字符串分割为带8位小数的字符串数组

解决方法:提取带8位小数的数字到字符串数组

嘿,这个需求用正则表达式就能完美搞定!你的输入字符串是由一串连续(或偶尔带空格)的、固定8位小数的数字组成的,我们只需要精准提取每个符合格式的数字片段即可。

核心思路

每个目标数字的格式都是 整数部分.8位小数,所以用正则表达式匹配这个模式,就能把所有符合要求的数字都抓出来,再转换成字符串数组。

代码示例(C#)

因为你的示例看起来是C#语法,这里给出对应的实现:

using System;
using System.Text.RegularExpressions;

class NumberSplitter
{
    static void Main()
    {
        string inputStr = "45.00019821162.206580920.032150970.03215097244.0031982274.245303020.014716900.046867870.000198351974.613444580.391664580.438532450.00020199 3499.19734739 0.706802871.145335320.000202002543.362378010.513759201.659094520.000202102.391733720.000483371.65957789";
        
        // 正则匹配:一个或多个数字 + 小数点 + 精确8位数字
        var matches = Regex.Matches(inputStr, @"\d+\.\d{8}");
        
        // 转换为字符串数组
        string[] resultArr = new string[matches.Count];
        for (int i = 0; i < matches.Count; i++)
        {
            resultArr[i] = matches[i].Value;
        }
        
        // 验证输出(可选)
        Console.WriteLine("分割后的数组元素:");
        foreach (var num in resultArr)
        {
            Console.WriteLine(num);
        }
        
        // 如果需要像示例那样拼接成带空格的字符串
        string formattedStr = string.Join(" ", resultArr);
        Console.WriteLine("\n格式化后的字符串:");
        Console.WriteLine(formattedStr);
    }
}

正则说明

  • \d+:匹配1个或多个数字(对应数字的整数部分,支持多位数和0开头的整数)
  • \.:匹配小数点(因为.在正则里是通配符,所以要加反斜杠转义)
  • \d{8}:精确匹配8个数字(对应固定的8位小数部分)

这样不管输入里的数字是连在一起还是被空格隔开,都能准确提取出每个带8位小数的数字,最终得到你需要的字符串数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:53:58