欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > > 文章正文

字符串的处理。Split(分割),Substring(截取),Contains(包含),Replace(替换),StartsWith,EndsWith,.splitstartswith

来源: javaer 分享于  点击 39322 次 点评:282

字符串的处理。Split(分割),Substring(截取),Contains(包含),Replace(替换),StartsWith,EndsWith,.splitstartswith


<1>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 字符串的处理
{
    class Program
    {
        static void Main(string[] args)
        {
            //字符串定位========================================IndexOf

            Console.WriteLine("abcd".IndexOf("c"));      //查找“c”在abcd中的索引值(位置) ,输出:2

            Console.WriteLine("asdfjsdfjgkfjgdddd".IndexOf('d', 0));//从前向后定位, 从第0个字符串开始定位, ‘d’第一次出现的位置(索引值),输出 2
            Console.WriteLine("asdfjsdfjgkfjgdddd".IndexOf('d', 2));//从前向后定位, 从第2个字符串开始定位, ‘d’第一次出现的位置(索引值),输出 2

            Console.WriteLine("asdfjsdfjgkfjgdddd".IndexOf('d', 5));//从前向后定位, 从第5个字符串开始定位, ‘d’第一次出现的位置(索引值),输出 6

            Console.WriteLine("asdfjsdfjgkfjsdddd".IndexOf("js",0));//从前向后定位, 从第0个字符串开始定位, ‘js’第一次出现的位置(索引值),输出 4

            //字符串定位========================================LastIndexOf

             Console.WriteLine("abdcfgcd".LastIndexOf("c")); //从前往后定位,从第0个字符串开始定位,‘c’最后一个出现的位置,输出 6

            Console.WriteLine("abdcfgcdd".LastIndexOf("c",7));//从前往后定位,从第7个字符串开始定位,‘c’最后一个出现的位置,输出 "空格" 即找不到





            //大小写转换========================================ToUpper,ToLower


            string s = "abc";
            string s2 = s;
            s = s.ToUpper();  //得到字符串的大些形式。注意:这里并不是改变了字符串的内容,而是生成一个新的全部变为大些的字符串,然后再用string变量s指向这个新的字符串。(s之前是指向"abc",现在指向的是"ABC")
            Console.WriteLine(s); //输出"ABC"

            Console.WriteLine(ReferenceEquals(s, s2));// 输出false 。 ReferenceEquals是判断s与s2是否源于相同的引用

            s = s.ToLower(); //得到字符串的小写形式。
            Console.WriteLine(s); //输出abc

            //注意字符串是不可变的(因为他们已经分配到内存中,无法改变),所以这些函数都不会直接改变字符串的内容,而是把修改后的字符的值通过函数返回值的形式返回,





            //去掉字符串左右两边的空格 ===============================================Trim

            string s = "a   b";
            Console.WriteLine(s);

            string str1 = "  |ab| ";
            string str2 = "|ab|";
            Console.WriteLine(Equals(str1, str2));//输出false
            Console.WriteLine(Equals(str1.Trim(), str2.Trim()));// 输出true





            // 字符串的对比(忽略大小写)=======================Equals  , ReferenceEquals



            bool b = "abc".Equals("ABC", StringComparison.OrdinalIgnoreCase); //StringComparison是一个枚举,它有几个值,其中最常用的一个值就是OrdinalIgnoreCase 它的意思是:忽略比较字符串的大小写。

            Console.WriteLine(b); //输出true

            Console.WriteLine(ReferenceEquals("abc", "abc"));//输出true  对比两个字符串是否源于相同的引用。





            //字符串的分割 ========================================== Split




            //Split有5个重载方法,其中参数有可变参数和不可变的数组参数。对于不可变的数组参数,必须要用 new char[]{...}或new string[]{...}的这种形式来使用
            string s = "aaa,bbb,ccc,ddd|eee|ooo.mmm..www";
            string[] str = s.Split(','); //将字符串s以逗号(,)的形式分割。同时Sqlit还可以以多个字符进行分割,请看下面
            string[] str = s.Split(',', '|', '.'); //将字符串s以逗号(,)和竖线(|)和点(.)的形式进行分割

            //不可变的数组参数。有char类型的数组,当然也有string 类型的数组参数,就不一一列举了例子了。
            string[] str2 = s.Split(new char[] { ',', '.', '|' }, StringSplitOptions.RemoveEmptyEntries); //StringSplitOptionss是一个枚举,它有两个值,其中比较常用的值RemoveEmptyEntries表示"返回不包含有空字符串的元素数组"

            for (int i = 0; i < str.Length; i++)
            {
                Console.WriteLine(str[i]);
            }

            for (int i = 0; i < str2.Length; i++)
            {
                Console.WriteLine(str2[i]);
            }



            //以默认编码(Encoding.Default)的形式读取e盘下的1.txt文件
            string[] readFile = System.IO.File.ReadAllLines(@"e:\1.txt", Encoding.Default);
            foreach (string str in readFile)
            {
                string[] split = str.Split(new string[] { "<br>" }, StringSplitOptions.RemoveEmptyEntries);//StringSplitOptionss是一个枚举,它有两个值,其中比较常用的值RemoveEmptyEntries表示"返回不包含有空字符串的元素数组"
                foreach (string spl in split)
                {
                    Console.WriteLine(spl);
                }
            }



            //截取字符串 ============================================substring

			String.SubString(int index, int length)   
			//index:开始位置,从0开始     
			//length:你要取的子字符串的长度   

            string s1 = "1fdljld fh fdfhdnfld f1";
            string s2 = s1.Substring(1, s1.Length - 1 - 1);
            char[] chars = s2.ToCharArray(); //因为字符串是不可变的,所以这里将字符串拆分为字符到数组chars
            for (int i = 0; i < chars.Length; i++)
            {
                chars[i] = '*';  //在这里将数组的每一项都替换为*
            }
            s2 = new string(chars); //将chars字符数组组成字符串 new string()还有8个重载函数其中s2=new string ('f',5);就是构建一个为fffff的字符串。//string str = new string("abc".ToCharArray());//相当于string str=new string(new char[]{'a','b','c'});

            string str = s1.Substring(0, 1) + s2 + s1.Substring(s1.Length - 1);  //最后合并整个字符串。
            Console.WriteLine(str); //输出结果是:  1**************1


            //我想留住s1前面一位与最后一位,其它的替换成*字符,要怎么做呢?
            string s1 = "1fdljld fh fdfhdnfld f1";
            char[] ch1 = s1.ToCharArray();
            for (int i = 0; i < ch1.Length; i++)
            {
                if (i == ch1.Length - 1 - 1)
                {
                    break;
                }
                ch1[i + 1] = '*';
            }
            string str1 = new string(ch1);
            Console.WriteLine(str1);




            //替换字符串 ===========================================Replace

            string s = "许多人,许多事,许多渴求与憧憬";
            s = s.Replace("许多", "好多");  //将s字符串里的"许多"替换成 "好多"
            Console.WriteLine(s);





            //包含=============================================================contains

            string s = "习近平雾霾天在北京南锣鼓巷视察";
            if (s.Contains("习近平"))  //如果字符串s里包含"习近平"
            {
                Console.WriteLine("含有敏感词汇,请文明用语,否则枪毙");


            }






            //判断一个字符串以某一个子字符串开头或者结尾,=============StartsWith , EndsWith

            string s = "http://www.cctv.cn";
            if (s.StartsWith("http://") || s.StartsWith("https://")) //判断s字符串是否以"http://"或者"https://"开头
            {
                if (s.EndsWith(".cn")) //判断s字符串是否以".cn"结尾
                {
                    Console.WriteLine("这是一个中国域名的网址");
                }
                else
                {
                    Console.WriteLine("这是一个国际域名网址");
                }
            }

            else
            {
                Console.WriteLine("这不是一个网址");
            }



            string s = "习近平雾霾天在北京南锣鼓巷视察,然后习近平又去了昌平区视察";
            Console.WriteLine(s.IndexOf("习近平"));//输出0   输出子字符串第一个字符第一次出现的位置。如果子字符串不存在就返回-1;
            Console.WriteLine(s.LastIndexOf("习近平"));//输出18    输出子字符串第一个字符最后一次出现的位置,如果子字符串不存在就返回-1;
            //以上这段代码可以查询一个字符串是否包含某些子字符串。(有Contains的功效哦。哈哈)






            //对比两个数,取最大值和最小值=======================================Max , Min  

            int i = 100;
            int j = 50;
            Console.WriteLine(Math.Min(i, j));//取两个数中的最小值
            Console.WriteLine(Math.Max(i, j)); //取两个数中的最大值



            Console.ReadKey();

        }
    }
}



string s ="hellowworld";
int count =s.Count(w => w =='o');//查询字母o出现的次数
Console.WriteLine(count);


相关文章

    暂无相关文章

用户点评