c#怎么截取一定长度的字符串 指定开头和结尾

如题
R230101N,Nest Sheet 1,1220,2440,18,18mm水曲柳,0,1,1,F,0,
R230201N,Nest Sheet 2,1219.2,2438.4,9,9mm水曲柳,0,1,1,F,0,
r23b0004,顶板(TO),457.2,421.2,18,18mm水曲柳,1,1,1,B,0
r23b0005,底板(DE),457.2,421.2,18,18mm水曲柳,1,1,1,B,0
r23b0006,前脚板(FT),90,421.2,18,18mm水曲柳,1,1,1,B,0
r23b0007,后脚板(BT),90,421.2,18,18mm水曲柳,1,1,1,B,0
像上面的字符是通过TXT文件打开的 我的想法是打开后提取指定的开头"r"(小写),结尾“,”如”r23b0004“然后继续截取,获取几个在label1中显示数字。截取后存到数据库中 ,然后再和文本框对比是否一样(文本框里的内容输入回车在对比,不需按钮控件),如一样则 label1数字减一,不一样则弹出窗口警告,直至label1为0。

3个回答

            var text = File.ReadAllLines(@"文档位置", Encoding.Default);
            List<string[]> source = new List<string[]>();
            foreach (var item in text)
            {
                source.Add(item.Split(','));
            }

图片说明

string s = Regex.Match("R230101N,Nest Sheet 1,1220,2440,18,18mm水曲柳,0,1,1,F,0,", "[Rr][^\\,]+").Value;

也可以
string s = "R230101N,Nest Sheet 1,1220,2440,18,18mm水曲柳,0,1,1,F,0,";
string result = s.Split(',')[0];

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复Roc丶Chen: 对,或者用 File。ReadAllLines 全部读取到数组,然后 foreach
10 个月之前 回复
u010030934
Roc丶Chen 这样只能一条 ,如果很多行的话怎么写 string s = Regex.Matches?
10 个月之前 回复

建立一个List lines;
再把读取的每行按照','分割成String[] inLines,然后 lines.add(inLines);

你要求取指定的开头的段,则可以用两个foreach循环,例如

foreach(var line in lines)
{
        if(line[0].StartsWith("r")) //判断
        {
                foreach(var text in line)
                {
                        //取数据
                }
        }
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐