c#常用的字符串函数

例一:

获取字符串的大小写函数

ToLower():得到字符串的小写形式

ToUpper():得到字符串的大写形式

注意:

字符串时不可变的,所以这些函数都不会直接改变字符串的内容,而是把修改后的字符串通过函数返回值的形式返回。

源码如下:

using System;
using System.Collections.Generic;
using System.Text; namespace 字符串函数学习
{
class Program
{
static void Main(string[] args)
{
string s = "GOOD";
s=s.ToLower();//s.ToLower():返回值为字符串的小写
Console.WriteLine(s);/* 不是改变了字符串的内容,而是生成一个新的全部变为小写的字符串,然后用s指向这个新的字符串。*/
Console.WriteLine(s.ToUpper());//s.ToUpper()返回值为字符串的大写。
Console.ReadKey();
}
}
}

运行截图:

例二:

字符串去两边的空白函数

Trim();

源码如下:

using System;
using System.Collections.Generic;
using System.Text; namespace 字符串函数学习
{
class Program
{
static void Main(string[] args)
{
string s = " GOOD ";
Console.WriteLine("去两边空白函数使用前:\n|{0}|",s);//调用函数前字符串两边有空白
s=s.Trim();
Console.WriteLine("去两边空白函数使用后:\n|{0}|", s);//调用函数后字符串两边无空白
Console.ReadKey();
}
}
}

程序截图:

例三:

字符串忽略大小写比较的函数

"abc"=="ABC"

bool string.Equals(string value,StringComparsion comparisonType)(+2重载)
 确定此字符串是否与指定的System.String对象具有相同的值。
参数指定区域性,大小写以及比较所用的排序规则。
 异常:
            system.NULLReferenceException
            system.ArgumentException

源码如下:

using System;
using System.Collections.Generic;
using System.Text; namespace 字符串函数学习
{
class Program
{
static void Main(string[] args)
{
/* *********************************************
* bool string.Equals(string value,StringComparsion comparisonType)(+2重载)
* 确定此字符串是否与指定的System.String对象具有相同的值。
* 参数指定区域性,大小写以及比较所用的排序规则。
* 异常:
* system.NULLReferenceException
* system.ArgumentException
************************************************ * StringComparsion枚举类型
* bool b="abc"=="ABC";
* Ignore:区分,Case:大小写
*==是区分大小写的比较,Equals("ABC", StringComparison.OrdinalIgnoreCase)是忽略大小写的比较.
*/ //判断"abc"=="ABC"返回值bool型为false,忽略大小函数调用后此bool型为true bool b = "abc".Equals("ABC", StringComparison.OrdinalIgnoreCase);
Console.WriteLine(b);//由于调用了忽略大小写函数,所以bool型返回值结果为true
Console.ReadKey();
}
}
}

运行结果:

例四:

字符串的分割函数:

string[] Split(params char[] separator):
将字符串按照指定的分隔符分割为字符串数组

将字符串按照指定的分隔符分割为字符串数组函数:

1.将aaa,bbb,ccc,dddfdsajf按照‘,’进行分隔

源码如下:

using System;
using System.Collections.Generic;
using System.Text; namespace 字符串函数学习
{
class Program
{
static void Main(string[] args)
{
string s = "aaa,bbb,ccc,dddfdsajf"; /* string[] Split(params char[] separator):
* 将字符串按照指定的分隔符分割为字符串数组
*/ string[] strs = s.Split(',');//将字符串s按照','进行分割成字符串数组。 //循环打印字符串数组strs中的内容
foreach(string item in strs)
{
Console.WriteLine(item);
} Console.ReadKey();
}
}
}

程序截图:

2.移除结果中的空白字符的分隔函数

string[] Split(charp[] separator,StringSplitOptions options)
将字符串按照指定的char分隔为字符串数组

(option取 RemoveEmptyEntrles的时候移除结果中的空白字符)

将aaa,bbb,,ccc,dddfdsajf进行分隔,如果用上面那个方法进行分隔则会出现空白字符:

为了避免以上情况,可以使用这个函数解决。

using System;
using System.Collections.Generic;
using System.Text; namespace 字符串函数学习
{
class Program
{
static void Main(string[] args)
{
string s = "aaa,bbb,,ccc,dddfdsajf"; /* string[] Split(charp[] separator,StringSplitOptions options)
* 将字符串按照指定的char分隔为字符串数组
*
* (option取 RemoveEmptyEntrles的时候移除结果中的空白字符)
*/ string[] strs = s.Split(new char[] {','},StringSplitOptions.RemoveEmptyEntries); //循环打印字符串数组strs中的内容
foreach(string item in strs)
{
Console.WriteLine(item);
} Console.ReadKey();
}
}
}

程序运行结果:

3.字符串作为分隔符进行分隔字符串函数:

string[] Split(string[] separator,StringSplitOptions options)
将字符串按照指定的string分隔符分割为字符串数组。

如:将"我是星云我是fairy我是颜可"分隔成"星云fairy颜可"

源码如下:

using System;
using System.Collections.Generic;
using System.Text; namespace 字符串函数学习
{
class Program
{
static void Main(string[] args)
{
string s = "我是星云我是fairy我是颜可"; /* string[] Split(new string[] separator,StringSplitOptions options)
* 将字符串按照指定的char分隔为字符串数组
*
* (option取 RemoveEmptyEntrles的时候移除结果中的空白字符)
*/ string[] strs = s.Split(new string[] {"我是"},StringSplitOptions.RemoveEmptyEntries); //循环打印字符串数组strs中的内容
foreach(string item in strs)
{
Console.WriteLine(item);
} Console.ReadKey();
}
}
}

程序运行截图:

练习一:

接受用户输入的一句英文,将其中的单词反序输出。
"hello c sharp"——>"sharp c hello"

源码如下:

using System;
using System.Collections.Generic;
using System.Text; namespace 字符串函数学习
{
class Program
{
static void Main(string[] args)
{
string s = Console.ReadLine();//接受一个字符串
string[] words = s.Split(' ');//将字符串进行分隔
for (int i = words.Length - ; i >= ; i--)//反序输出
{
Console.Write(words[i] + " "); }
Console.ReadKey();
}
}
}

程序运行截图:

练习二:

所用函数:

int string.IndexOf(char value)(+8重载)
报告指定Unicode字符在此字符串中的第一个匹配项的索引。

string string.Substring(int startIndex,int length)(+1重载)
从此实例检索字符串中子字符串从指定的字符位置开始,且指有指定的长度.

异常:
          System.ArgumentOutofRangException

目标:将xingyun2684@gmail.com进行分隔,分隔出xingyun2684和gmail.com

源码如下:

using System;
using System.Collections.Generic;
using System.Text; namespace 字符串函数学习
{
class Program
{
static void Main(string[] args)
{
string email= Console.ReadLine();//接受一个Email字符串,如xingyun2684@gmail.com /* *********************************************
* int string.IndexOf(char value)(+8重载)
* 报告指定Unicode字符在此字符串中的第一个匹配项的索引。
*************************************************
*/ int atIndex = email.IndexOf('@');//取@所在的位置 /************************************************
* string string.Substring(int startIndex,int length)(+1重载)
* 从此实例检索字符串中子字符串从指定的字符位置开始,且指有指定的长度.
* 异常:
* System.ArgumentOutOfRangeException
***********************************************
*/ string username = email.Substring(,atIndex);//获取从开始位置到@所在位置的前一个位置的字符串,即xingyun2684
string 域名 = email.Substring(atIndex + );//获取@所在位置+1的字符串,即gmail.com Console.WriteLine(username);//打印xignyun2684
Console.WriteLine(域名);//打印gmail.com
Console.ReadKey();
}
}
}

程序截图:

练习三:

标题作者显示,直间。。。分隔

源码如下:

using System;
using System.Collections.Generic;
using System.Text; namespace 字符串函数学习
{
class Program
{
static void Main(string[] args)
{
string[] lines = System.IO.File.ReadAllLines(@"d:\2.txt", Encoding.Default);
foreach (string line in lines)
{
string[] strs=line.Split(new char[] {' '},StringSplitOptions.RemoveEmptyEntries);
string title = strs[];//标题
string author = strs[];//作者 /* Math.Min(a, title.b);
* 返回a和b两个数的最小值。
*/ title = title.Substring(, Math.Min(, title.Length));
title = title + "...";
Console.WriteLine("{0}{1}", title, author);
}
Console.ReadKey();
}
}
}

运行截图:

练习四:

读取ini配置文件内容,函数传参数实现查询项目名对象的值。

源码如下:

using System;
using System.Collections.Generic;
using System.Text; namespace 字符串函数学习
{
class Program
{
static void Main(string[] args)
{
string value = GetConfigValue(@"d:\3.ini", "ip");//函数调用传参数,文件路径和项目名
Console.WriteLine(value);
Console.ReadKey(); }
static string GetConfigValue(string filename, string itemName)
{
string[] lines = System.IO.File.ReadAllLines(filename, Encoding.Default);//读取一个文件
foreach (string line in lines) //一行一行读
{
string[] strs = line.Split('=');//将字符串按照=进行分隔
string name = strs[];//ip
string value = strs[];//192.168.1
if (name.Trim() == itemName)//判断查询是否相同
{
return value.Trim();
}
}
return "没找到或文件路径不正确!";
}
}
}

程序截图:

c#编程基础之字符串函数的更多相关文章

  1. c#编程基础之字符串基础

    1.C#中单个的字符串用单引号包含就是char类型,('a'),单引号中放且只能放一个字符 2.单个字符也可以表示为字符串,还可以有长度为0的字符串. 3.使用s.Length属性来获得字符串中的字符 ...

  2. noi题库(noi.openjudge.cn) 1.7编程基础之字符串T21——T30

    T21:单词替换 描述 输入一个字符串,以回车结束(字符串长度<=100).该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写.现需要将其中的某个单词替换成另一个单词,并输出替 ...

  3. noi题库(noi.openjudge.cn) 1.7编程基础之字符串T31——T35

    T31 字符串P型编码 描述 给定一个完全由数字字符('0','1','2',-,'9')构成的字符串str,请写出str的p型编码串.例如:字符串122344111可被描述为"1个1.2个 ...

  4. Shell编程基础教程6--shell函数

    6.shell函数    6.1.定义函数        简介:            shell允许将一组命令集或语句形成一个可用块,这些块成为shell函数        定义函数的格式      ...

  5. NOI 1.7编程基础之字符串(35题)

    01:统计数字字符个数 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 输入一行字符,统计出其中数字字符的个数. 输入 一行字符串,总长度不超过255. 输出 ...

  6. shell脚本编程基础之自定义函数库

    脚本编程知识点 ${#VAR_NAME}:引用变量中字符的长度 A="25 90 100 120": echo ${A#* }:针对A变量,#表示从左往右,*空格表示以空格为分隔符 ...

  7. C#编程基础之字符串操作

    本文来源于复习基础知识的学习笔记.自用的同时希望也能帮到其他童鞋. 什么是编程语言? 计算机可以执行的指令.这些指令成为源代码或者代码 有什么用? 以人们可读可理解的方式编写指令.人们希望计算机执行指 ...

  8. Mysql学习笔记(七)mysql编程基础之自定义函数。

    delimiter $$ create function fn_liangzifunction() returns int no sql begin ; return @row_no; end; $$ ...

  9. 大数据技术之_16_Scala学习_04_函数式编程-基础+面向对象编程-基础

    第五章 函数式编程-基础5.1 函数式编程内容说明5.1.1 函数式编程内容5.1.2 函数式编程授课顺序5.2 函数式编程介绍5.2.1 几个概念的说明5.2.2 方法.函数.函数式编程和面向对象编 ...

随机推荐

  1. javascript动画系列第三篇——碰撞检测

    前面的话 前面分别介绍了拖拽模拟和磁性吸附,当可视区域内存在多个可拖拽元素,就出现碰撞检测的问题,这也是javascript动画的一个经典问题.本篇将详细介绍碰撞检测 原理介绍 碰撞检测的方法有很多, ...

  2. React 入门教程

    React 起源于Facebook内部项目,是一个用来构建用户界面的 javascript 库,相当于MVC架构中的V层框架,与市面上其他框架不同的是,React 把每一个组件当成了一个状态机,组件内 ...

  3. C++中的时间函数

    C++获取时间函数众多,何时该用什么函数,拿到的是什么时间?该怎么用?很多人都会混淆. 本文是本人经历了几款游戏客户端和服务器开发后,对游戏中时间获取的一点总结. 最早学习游戏客户端时,为了获取最精确 ...

  4. 【初学python】使用python调用monkey测试

    目前公司主要开发安卓平台的APP,平时测试经常需要使用monkey测试,所以尝试了下用python调用monkey,代码如下: import os apk = {'j': 'com.***.test1 ...

  5. Xamarin+Prism开发详解一:PCL跨平台类库与Profile的关系

    在[Xamarin+Prism小试牛刀:定制跨平台Outlook邮箱应用]中提到过以下错误,不知道大伙还记得不: 无法安装程序包"Microsoft.Identity.Client 1.0. ...

  6. WebGIS中等值线前端生成绘制简析

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 等值线是GIS制图中常见的功能,一般有两种思路:一种是先进行插 ...

  7. 分享两种实现Winform程序的多语言支持的解决方案

    因公司业务需要,需要将原有的ERP系统加上支持繁体语言,但不能改变原有的编码方式,即:普通程序员感受不到编码有什么不同.经过我与几个同事的多番沟通,确定了以下两种方案: 方案一:在窗体基类中每次加载并 ...

  8. java web学习总结(五) -------------------servlet开发(一)

    一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...

  9. grunt配置任务

    这个指南解释了如何使用 Gruntfile 来为你的项目配置task.如果你还不知道 Gruntfile 是什么,请先阅读 快速入门 指南并看看这个Gruntfile 实例. Grunt配置 Grun ...

  10. 如何安装并简单的使用OwinHost——Katana

    微软OWIN的提出必然会引起一场风暴,而我们作为C#阵营中一份子,自然免不了会卷入其中.OWIN是什么东西,我在这里就不解析了,还不知道是OWIN是什么的读者请打开浏览器,然后搜索即可,中文的英文的应 ...