关闭

C#学习:字符串函数详解

标签: c#stringclassemail
4719人阅读 评论(0) 收藏 举报
分类:

一、字符串分割:Split

练习使用Split对字符串进行分割。

Split使用方法(1):string[] strs1 = s1.Split('分割符');

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

namespace 字符串分割
{
    class Program
    {
        static void Main(string[] args)
        {
            string s1 = "aaa,bbb.ccc\\ddd";
            string[] strs = s1.Split(',','.','\\');
            foreach (string item in strs)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();
         }

    }
}

Split可以使用可变参数,即可以规定多个分隔符。(注意转义字符\作为分隔符时的情况)

执行结果:

字符串根据分割符被分割为字符数组打印出来。

另外Split可以重载,能够把字符串中空白字符移除掉:

Split使用方法(2):string[] strs2 = s1.Split(new char {'分割符'},StringSplitOptions.RemoveEmptyEntries);

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

namespace 字符串分割
{
    class Program
    {
        static void Main(string[] args)
        {
            string s1 = "aaa,bbb.ccc\\ddd,ee,,f";
            string[] strs1 = s1.Split(',','.','\\');
            string[] strs2 = s1.Split(new char[] { ',', '.', '\\' },StringSplitOptions.RemoveEmptyEntries);
            foreach (string item in strs1)
            {
                Console.WriteLine(item);
            }
            foreach (string item in strs2)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();
         }

    }
}

执行结果(字符串中的空格被移除):

 

 Split使用方法(3):string[] strs3 = s1.Split(new shring{"字符串分割符"},StringSplitOptions.RemoveEmptyEntries);

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

namespace 字符串分割
{
    class Program
    {
        static void Main(string[] args)
        {

            string s1 = "我是刘德华我是甄子丹我是张学友";
            string[] strs1=s1.Split(new string[]{"我是"},StringSplitOptions.RemoveEmptyEntries);
          
             foreach (string item in strs1)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();
         }

    }
}

执行结果(按字符串对字符串进行分割):

 

二、字符串替换:string Replace(string oldValue,string newValue)

将字符串中出现oldValue的地方替换为newValue

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

namespace 字符串替换
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = "李雷成绩很好,向李雷同学学习";
            s = s.Replace("李雷", "韩梅梅");
            Console.WriteLine(s);
            Console.ReadKey();
        }
    }
}

执行结果:

三、取子字符串:

1、string Substring(int startIndex),取从位置startIndex开始一直到最后的子字符串

2、string Substring(int startIndex,int length),取从位置startIndex开始长度为length的子字符串,如果子字符串的长度不足length则报错

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

namespace SubString函数
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = "http://www.baidu.com";
            string 域名 = s.Substring(7);
            Console.WriteLine(域名);

            string s1 = s.Substring(7, 5);
            Console.WriteLine(s1);
            Console.ReadKey();
        }
    }
}

执行结果:

 四、判断字符串是否含有字串

bool Contains(string value)

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

namespace 包含
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = "我们的社会真和谐!";
            if (s.Contains("社会") || s.Contains("和谐"))
            {
                Console.WriteLine("含有敏感词汇");
            }
           Console.ReadKey();
        }
    }
}

执行结果:

其他字符串函数:

bool StartsWith(string value)判断字符串是否以字串value开始

bool EndsWith(string value)判断字符串是否以字串value结束

int IndexOf(string value)取字串value第一次出现的位置,用法如下:

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

namespace 字符串综合练习
{
    class Program
    {
        static void Main(string[] args)
        {
            string email = Console.ReadLine();
            int i=email.IndexOf("@");
            string username = email.Substring(0, i);
            string 域名 = email.Substring(i + 1);
            Console.WriteLine("用户名:" + username);
            Console.WriteLine("域名:" + 域名);
            Console.ReadKey();
        }

    }
}

执行结果:

0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:752893次
    • 积分:8180
    • 等级:
    • 排名:第2430名
    • 原创:199篇
    • 转载:10篇
    • 译文:17篇
    • 评论:137条
    最新评论