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框架,还有 ...
随机推荐
- 【风马一族_Android】android的新发现
Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW");这一段句话.可以调用出系统 ...
- WIN2003跳出res://C:WINDOWSsystem32mys.dll/mys.hta解决方法
出现这个问题的时候 @echo off 请将以下语句复制到记事本中,另存为后缀为.cmd的文件,并运行.当然在命令行下一句句运行也没问题. echo 正在修复,这个过程可能需要几分钟,请稍候…… ru ...
- 版权控制之zend guard 6.0使用教程
zend guard6.0使用教程.doc 一.准备工具 1. ZendGuard-6_0_0 下载地址:http://www.zend.com/en/products/guard/downloads ...
- SATA SAS SSD 硬盘介绍和评测
SATA SATA的全称是Serial Advanced Technology Attachment,是由Intel.IBM.Dell.APT.Maxtor和Seagate公司共同提出的硬盘接口规范. ...
- C# 编写Window服务基础(一)
一.Windows服务介绍: Windows服务以前被称作NT服务,是一些运行在Windows NT.Windows 2000和Windows XP等操作系统下用户环境以外的程序.在以前,编写Wind ...
- PHP操作MongoDB简明教程(转)
转自:http://blog.sina.com.cn/s/blog_6324c2380100ux2m.html MongoDB是最近比较流行的NoSQL数据库,网络上关于PHP操作MongoDB的资料 ...
- Android关于buildToolVersion与CompileSdkVersion的区别
StackOverFlow中对这个问题进行了详细的讨论:http://stackoverflow.com/questions/24521017/android-gradle-buildtoolsver ...
- 让ImageView可以使用gif的方法
在自己的包中添加MyGifView.java(直接复制,粘贴),读取gif资源在MyGifView中第20行读取: MyGifView.java: package com.zzw.testgifuse ...
- JNI 学习笔记
JNI是Java Native Interface的缩写,JNI是一种机制,有了它就可以在java程序中调用其他native代码,或者使native代码调用java层的代码.也 就是说,有了JNI我们 ...
- Azure Websites Migration Assistant
这是一个IIS+Database的迁移工具, 可以参考 http://channel9.msdn.com/Shows/Azure-Friday/Azure-Websites-Migration-Ass ...