String类的使用 Part1
String类的属性
1:Chars属性
获取当前 String 对象中位于指定位置的 Char 对象。
2:Length属性
获取当前 String 对象中的字符数。
eg:获取字符串中 字母, 数字, 控制字符的个数
namespace StringTest
{
class Program
{
static void Main(string[] args)
{
Console.Write("请输入一个字符串:");
string str1 = Console.ReadLine();
int letter = , digit = , control = , other = ; for (int i = ; i < str1.Length; i++) //使用 Length 属性
{
if (Char.IsLetter(str1[i])) //使用 Chars属性
letter++;
else if (Char.IsDigit(str1[i]))
digit++;
else if (Char.IsControl(str1[i]))
control++;
else
other++;
}
Console.WriteLine("字符串长度为:{0}\n字符个数:{1}\n数字个数:{2}\n控制字符个数:{3}\n其他字符个数:{4}\n", str1.Length, letter, digit, control, other);
}
}
}
结果:

String类的常用方法总结:
1:大小写转换
String.ToLower() -- 返回此字符串转换为小写形式的副本。
String.ToUpper()-- 返回此字符串转换为大写形式的副本。
eg:
string str = "helloTEST";
Console.WriteLine("小写:{0}\n大写:{1}",str.ToLower(),str.ToUpper());
2:移除空格
String. Trim()-- 从当前 String 对象移除所有前导空白字符和尾部空白字符。
eg:
string str = " helloTEST";
Console.WriteLine("{0}", str);
Console.WriteLine("{0}", str.Trim());
结果:

3: 分割字符串函数
String. Split 方法 ( Char[] ) -- 返回的数组元素中不包含分隔符字符
string str = "aaa,bbb,ccc[ddd";
string[] split = str.Split(',', ',', ',', '[');
foreach (string s in split)
{
Console.WriteLine("{0}", s);
}
结果:

String. Split 方法 ( String[] , Int32, StringSplitOptions) //分隔符为字符串 string
//分隔符为字符串 string
string s1 = "我是麦迪我是刘德华我是张学友";
string[] strs = s1.Split(new string[] { "我是" }, StringSplitOptions.RemoveEmptyEntries); //这是按照string字符串为分隔符
foreach (string item in strs)
{
Console.WriteLine(item);
}
结果:

4:截图字符串
String.Substring(Int32) --从此实例检索子字符串。 子字符串从指定的字符位置开始。 字符从0开始数
String.Substring(Int32, Int32) --从此实例检索子字符串。 子字符串从指定的字符位置开始且具有指定的长度。
eg:
string str = "http://www.tangpro.com";
string s1 = str.Substring(); //从第七个字符开始截图
string s2 = str.Substring(, ); //从第七个字符开始截取, 共截取3个字符
Console.WriteLine("{0}\n{1}", s1, s2);
结果:

5:
String.Contains(string value) -- 返回一个值,该值指示指定的 String 对象是否出现在此字符串中。
返回值:如果 value 参数出现在此字符串中,或者 value 为空字符串 (""),则为 true;否则为 false
//查看是否包含某字符串
string str = "http://www.tangpro.com";
bool b =str.Contains("tang");
bool b2 = str.Contains("abc");
Console.WriteLine(b);
Console.WriteLine(b2);
结果:

6:替换某字符
Replace(Char, Char) -- 返回一个新字符串,其中此实例中出现的所有指定 Unicode 字符都替换为另一个指定的 Unicode 字符。
Replace(String, String) -- 返回一个新字符串,其中当前实例中出现的所有指定字符串都替换为另一个指定的字符串。
//替换某字符
string str = "http://www.tangpro.com";
string s1 = str.Replace("com", "net"); //字符串
string s2 = str.Replace('m', 'o'); //字符
Console.WriteLine("{0}\n{1}", s1, s2);
结果:

7:查询一个字符串在某个字符串中的位置
IndexOf(Char) -- 报告指定 Unicode 字符在此字符串中的第一个匹配项的从零开始的索引。
IndexOf(String) -- 报告指定字符串在此实例中的第一个匹配项的从零开始的索引。
////查询一个字符串在某个字符串中的位置
string str = "http://www.tangpro.com";
int n = str.IndexOf("www");
int n1 = str.IndexOf("abc");
Console.WriteLine(n);
Console.WriteLine(n1); //若没有该字符串,测返回 -1
结果:

String类的使用 Part1的更多相关文章
- string类运用:特殊的翻译
特殊的翻译 小明的工作是对一串英语字符进行特殊的翻译:当出现连续且相同的小写字母时,须替换成该字母的大写形式,在大写字母的后面紧跟该小写字母此次连续出现的个数:与此同时,把连续的小写字母串的左侧和右侧 ...
- 标准库String类
下面的程序并没有把String类的所有成员方法实现,只参考教程写了大部分重要的成员函数. [cpp] view plain copy #include<iostream> #include ...
- 自己实现简单的string类
1.前言 最近看了下<C++Primer>,觉得受益匪浅.不过纸上得来终觉浅,觉知此事须躬行.今天看了类类型,书中简单实现了String类,自己以前也学过C++,不过说来惭愧,以前都是用C ...
- C++ string类的实现
c++中string类的实现 今天面试被考到了, 全给忘记了!!! //string类的实现 #include <iostream> #include <string.h> ...
- String类的功能
String类 标红的为较少出现的 1.判断功能 boolean equals(Object obj) :比较字符串内容是否相同,区分大小写 boolean equalsIg ...
- java基础复习:final,static,以及String类
2.final 1)为啥String是final修饰的呢? 自己答: 答案: 主要是为了“效率” 和 “安全性” 的缘故.若 String允许被继承, 由于它的高度被使用率, 可能会降低程序的性能,所 ...
- String类和StringBuffer类的区别
首先,String和StringBuffer主要有2个区别: (1)String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,释放原String对象,StringB ...
- 05_整理String类的Length()、charAt()、 getChars()、replace()、 toUpperCase()、 toLowerCase()、trim()、toCharArray()使用说明
Question: 整理String类的Length().charAt(). getChars().replace(). toUpperCase(). toLowerCase().trim().toC ...
- 标准C++中的string类的用法总结
标准C++中的string类的用法总结 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有 ...
随机推荐
- iOS ARC下循环引用的问题 -举例说明strong和weak的区别
strong:适用于OC对象,作用和非ARC中的retain作用相同,它修饰的成员变量为强指针类型weak:适用于OC对象,作用和非ARC中的assign作用相同,修饰的成员变量为弱指针类型assig ...
- iOS 非ARC基本内存管理系列总结6 -设计微博模型
设计简单的微博模型:用User类和Status类来模拟实现 在非ARC机制下有两种方式,两者没有太大的区别之所以写了两种只是为了方便学习和对比两种写法! 第一种:没有使用atuorelease和自动释 ...
- sql存在一个表而不在另一个表中的数据
(转)A.B两表,找出ID字段中,存在A表,但是不存在B表的数据.A表总共13w数据,去重后大约3W条数据,B表有2W条数据,且B表的ID字段有索引. 方法一 使用 not in ,容易理解,效率低 ...
- SUID或SGID程序中能不能用system函数
system()函数的声明和说明如下: 注意它的描述那里,system()执行一个由command参数定义的命令,通过调用/bin/sh -c命令来实现这个功能.也就是说它的逻辑是这样的! 进程调用s ...
- NSS_05 数据访问选型
在数据访问层上很想用orm框架, 选用Nhibernate或ef, 可以直接操作类对象, 避免转换, 更加的面向对象,更重要的是开发起来就方便多了. 但是从网上了解到这些框架太高级了, 用得不好到时会 ...
- 在指定的DSN中,驱动程序和应用程序之间的体系结构不匹配
今天在使用plsql通过odbc导入excel数据时发生了一个错误,截图如下: 错误提示为:驱动程序和应用程序之间的体系结构不匹配. 后来百度了一下,得出答案.系统是win10 64位.excel驱动 ...
- 关于Silverlight调用天气预报接口问题
问题:因Silverlight客户端不能直接调用webservice接口(外网天气接口),调用会出现跨域访问的问题,即使添加了跨域文件也不好使.解决方法如下 解决方法一:1.在服务端建立一个wcf服务 ...
- 批量修改文件后缀(Python)
近期下载了很多各种教程, 但是不幸的是后缀名都是 ".mp4", 而本人喜欢 ".rmvb" 后缀,由于有轻微洁癖, 受不了后面的 ".mp4&quo ...
- Configuring My Site in SharePoint 2010
Configuring the User Profile Service in SharePoint 2010 http://sharepointgeorge.com/2010/configuring ...
- Text Template Transformation Toolkit
Text Template Transformation Toolkit 1.且算简介 笔者以一个英文字母和一个数字取了一个简单的名字.名唤"T4"(名 ...