C# 字符串分割

25 篇文章 1 订阅

用字符串分割

using System.Text.RegularExpressions;

1 using System.Text.RegularExpressions;
2 string str="aaajsbbbjsccc";
3 string[] sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase); //分割结果为aaa bbb ccc
foreach (string i in sArray) Response.Write(i.ToString() + "<br>"); 

用多个字符串分割

1 string str="aaajbbbscccjdddseee";
2 string[] sArray=str.Split(new char[2]{'j','s'}); //分割结果为aaa bbb ccc ddd eee
foreach(string i in sArray) Response.Write(i.ToString() + "<br>");  

用单字符分割

1 string str="aaajbbbjccc";
2 string[] sArray=str.Split('j'); //分割结果为 aaa bbb ccc
foreach(string i in sArray) Response.Write(i.ToString() + "<br>")

字符串拆分输出

using System;
namespace colon{
 class Colon{
  static void Main(string[] args){
   string str="1.2.3.4:8080";
   string[] arr=str.Split(':'); 
   string a=arr[0];
   string b=arr[1];
   Console.WriteLine(a);
   Console.WriteLine(b);
   Console.ReadKey();
  }
 }
}

在这里插入图片描述

分割循环

p1-11-02023-00ad;r10002832021316012233;lodg2021031620210316;d20210316;v1000283;e20210816;

  List<string> sArray = StrQR.Split(';').ToList();

            foreach(var t in sArray)
            {
                if (t.Substring(0, 1).ToUpper() == "P")
                {
                    string p =t.Substring(1);
                }          
            } 

分割循环2

// An highlighted block
var foo = 'bar';

演示

输入二维码:p1-11-00274-00A;r10002832021316012233;lodg2021031620210316;d20210316;v1000283;e20210816;
回车将拆分的值写入对应框中
在这里插入图片描述
实现效果
在这里插入图片描述
代码

        //二维码拆分实现
        private void txt_QR_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar != 13)
            {
                return;
            }
            string strQR = txt_QR.Text.Trim();   
            if (strQR == "")
            {
                MessageBox.Show("二维码扫描为空,请检查!!");
                return;
            }
            //取分割后的值
            string sMatType = GetQRValue(strQR,"P",1);
            string sBarCode = GetQRValue(strQR, "R",1);
            string sMatBatch = GetQRValue(strQR, "LODG", 4);
            string sStartTime = GetQRValue(strQR, "D", 1);
            string sVendor = GetQRValue(strQR, "V", 1);
            string sEndTime = GetQRValue(strQR, "E", 1);

            //给界面文本值赋值
            this.cmbMatType.Text = sMatType;
            this.txtBarCode.Text = sBarCode;
            this.txtMatBatch.Text = sMatBatch;                       
            this.dtpStartTime.Value = Convert.ToDateTime(sStartTime.Substring(0, 4) + "-" + 	sStartTime.Substring(4, 2) + "-" + sStartTime.Substring(6, 2));
            this.dtpEndTime.Value = Convert.ToDateTime(sEndTime.Substring(0, 4) + "-" + sEndTime.Substring(4, 2) + "-" + sEndTime.Substring(6, 2));
            //输入二维码后进行实际入库
            txtBarCode_KeyPress(sender, e);         
        }

       public static string GetQRValue(string SourceQR,string Prefix,int PrefixLen)
        {
            List<string> sArray = SourceQR.Split(';').ToList();
            foreach (var t in sArray)
            {
                if (t.Substring(0, PrefixLen).ToUpper() == Prefix.ToUpper())
                {
                    return t.Substring(PrefixLen);
                }
            }
            return "";
        }
C#中,可以使用string.Split()方法对字符串进行分割。该方法的使用形式为:string[] result = originalString.Split(separatorChars, StringSplitOptions);其中,separatorChars是一个字符数组,表示分隔符;StringSplitOptions是一个枚举类型,表示是否移除空白项。例如,以下代码将一个字符串按照逗号进行分隔: string originalString = "apple,banana,orange"; string[] result = originalString.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); foreach (string s in result) { Console.WriteLine(s); } // 输出: // apple // banana // orange 除了单个字符分隔符,还可以使用多个字符分隔符,例如以下代码将一个字符串按照逗号和空格两种分隔符进行分隔: string originalString = "apple, banana, orange"; string[] result = originalString.Split(new char[] { ',', ' ' }, StringSplitOptions.RemoveEmptyEntries); foreach (string s in result) { Console.WriteLine(s); } // 输出: // apple // banana // orange 需要注意的是,如果分隔符是一个字符串而不是一个字符,可以使用String.Split()方法的重载形式,例如以下代码将一个字符串按照换行符进行分隔: string content = "line1\nline2\nline3"; string[] getAry = content.Split(new string[] { "\n" }, StringSplitOptions.RemoveEmptyEntries); foreach (string s in getAry) { Console.WriteLine(s); } // 输出: // line1 // line2 // line3 --相关问题--: 1. C#中还有哪些常用的字符串操作方法? 2. 如何在C#中将字符串转换为数字类型? 3. C#中如何判断一个字符串
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值