c# 从字符串中取某个字符

例如我先在有一个字符串“1111222233334444”,我想从这个字符串中随机取一个字符,然后再将取出的这个字符从原字符串中删掉,怎么做。。。

class Program
    {
        static string str = "1111222233334444";
        static int rdNum = 0;
        static string subStr = "";

        void random()
        {
            Random rd = new Random();
            rdNum = rd.Next(0, Convert.ToInt32(str.Length));
        }
        
        string randomStr()
        {
            string subStr = str.Substring(rdNum, 1);
            return subStr;
        }

        static void Main(string[] args)
        {
            Program pro = new Program();
            Console.WriteLine("原字符串为:" + str);
            pro.random();
            subStr = pro.randomStr();
            Console.WriteLine("被提取出来的字符串为:" + subStr);
            str = str.Remove(rdNum, 1);
            Console.WriteLine("现字符串为:" + str);
            Console.ReadLine();
        }
    }

注:

1、因为示例,变量声明上未按照正规规范编写。

2、如后期需要对原字符串大量进行删改,需把string更换成stringbuilder,以提高效率。


希望能帮到你

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-26
string str1 = "1234567";

string str2= str1.SubString(0,3); // str2="123";

string str3 = str1.SubString(2,3); //str3 = "345";

SubString(m, n) ; m为需要截取的字符串索引位置, n为 截取长度本回答被提问者采纳
第2个回答  2014-09-13
          string str = "111222233334444";
           Random rd = new Random();  
           int index = rd.Next(0,str.Length-1); //获得随机位置
           str = str.Remove(index, 1);         //删除随机索引的一个字符


相似回答