当前位置:编程学习 > C#/ASP.NET >>

如何从字符串末尾截取字符串

如何从字符串末尾截取字符串?
string str = "光大银行信用卡电子对账单0001111111113537768|7000232879";
如何分别截取字符串7000232879,和0001111111113537768 --------------------编程问答--------------------

  string str = "光大银行信用卡电子对账单0001111111113537768|7000232879";
            string[] arr = str.Split('|');
            Response.Write(arr[0]); //光大银行信用卡电子对账单0001111111113537768
            Response.Write("<br />");
            Response.Write(arr[1]);//7000232879
--------------------编程问答-------------------- 光大银行信用卡电子对账单0001111111113537768
前边的汉字是不固定的,怎么取后边的0001111111113537768
--------------------编程问答-------------------- 如果从“光大银行信用卡电子对账单0001111111113537768”是固定的,就用
 Response.Write(str.Substring(12,19));

如果不是固定就比较麻烦了,要判断正则什么的 --------------------编程问答-------------------- 数字固定吗? --------------------编程问答-------------------- 数字固定的 --------------------编程问答--------------------

 string str = "光大银行信用卡电子对账单0001111111113537768|7000232879";

        Response.Write(str.Substring(str.LastIndexOf("|") + 1)+"<br>");  //1

        byte[] array = new byte[2];
        int j = 0;
        for (int i = 0; i < str.Length; i++)
        {
            array = System.Text.Encoding.Default.GetBytes(str[i].ToString());

            if (array[0] <= 161) //汉字,跳出
            {
                j = i;
                break;
            }
        }
        Response.Write(str.Substring(j, str.LastIndexOf("|") - j));  //1


呵呵 --------------------编程问答-------------------- try...

Match m = Regex.Match(yourStr, @"(\d+)\|(\d+)\s*$");
if(m.Sucess)
{
    richTextBox2.Text += m.Groups[1].Value + "\n";
    richTextBox2.Text += m.Groups[2].Value + "\n";
}
--------------------编程问答--------------------  string str = "光大银行信用卡电子对账单0001111111113537768|7000232879";
            string[] arr = str.Split('|');
--------------------编程问答--------------------
引用 7 楼 lxcnn 的回复:
Match m = Regex.Match(yourStr, @"(\d+)\|(\d+)\s*$");
if(m.Sucess)
{
    richTextBox2.Text += m.Groups[1].Value + "\n";
    richTextBox2.Text += m.Groups[2].Value + "\n";
}


lxcnn这个就行了。另外上面写少一个字母了。
m.Sucess应为m.Success --------------------编程问答--------------------
引用 9 楼 gdjlc 的回复:
lxcnn这个就行了。另外上面写少一个字母了。
m.Sucess应为m.Success


白天没测试环境,手写代码,看来还需要加强。。。 --------------------编程问答-------------------- 哈哈,难免会失误,lxcnn的正则功夫大家都是有目共睹的,正所谓倚天一出谁与争锋.. --------------------编程问答--------------------  string str = "光大银行信用卡电子对账单0001111111113537768|7000232879";
        int n = str.LastIndexOf("|");
        string a = str.Substring(n + 1, str.Length - n - 1);//得到7000232879
        Response.Write(a+"<br/>");
        string b = str.Substring(0, n);//得到光大银行信用卡电子对账单0001111111113537768
        int no = 0;
        for (int i = 0; i < str.Length; i++)
        {          
            try
            {
                int m = 0;
                string bb = str[i].ToString();
                m = Convert.ToInt32(bb);
                no = i;
                break;
            }catch(Exception)
            {  
            }
        }       
        string bo = b.Substring(no, b.Length - no);//得到0001111111113537768
        Response.Write(bo+"<br/>");
--------------------编程问答--------------------
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,