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的更多相关文章

  1. string类运用:特殊的翻译

    特殊的翻译 小明的工作是对一串英语字符进行特殊的翻译:当出现连续且相同的小写字母时,须替换成该字母的大写形式,在大写字母的后面紧跟该小写字母此次连续出现的个数:与此同时,把连续的小写字母串的左侧和右侧 ...

  2. 标准库String类

    下面的程序并没有把String类的所有成员方法实现,只参考教程写了大部分重要的成员函数. [cpp] view plain copy #include<iostream> #include ...

  3. 自己实现简单的string类

    1.前言 最近看了下<C++Primer>,觉得受益匪浅.不过纸上得来终觉浅,觉知此事须躬行.今天看了类类型,书中简单实现了String类,自己以前也学过C++,不过说来惭愧,以前都是用C ...

  4. C++ string类的实现

    c++中string类的实现 今天面试被考到了, 全给忘记了!!!   //string类的实现 #include <iostream> #include <string.h> ...

  5. String类的功能

    String类              标红的为较少出现的 1.判断功能 boolean equals(Object obj) :比较字符串内容是否相同,区分大小写 boolean equalsIg ...

  6. java基础复习:final,static,以及String类

    2.final 1)为啥String是final修饰的呢? 自己答: 答案: 主要是为了“效率” 和 “安全性” 的缘故.若 String允许被继承, 由于它的高度被使用率, 可能会降低程序的性能,所 ...

  7. String类和StringBuffer类的区别

    首先,String和StringBuffer主要有2个区别: (1)String类对象为不可变对象,一旦你修改了String对象的值,隐性重新创建了一个新的对象,释放原String对象,StringB ...

  8. 05_整理String类的Length()、charAt()、 getChars()、replace()、 toUpperCase()、 toLowerCase()、trim()、toCharArray()使用说明

    Question: 整理String类的Length().charAt(). getChars().replace(). toUpperCase(). toLowerCase().trim().toC ...

  9. 标准C++中的string类的用法总结

    标准C++中的string类的用法总结 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有 ...

随机推荐

  1. Android Studio添加jar包

    1.先把jar包复制到项目的lib下,

  2. callback调用测试

    <html> <head> <script> var context="全局"; var testObj={ context:"初始& ...

  3. C++安装失败解决办法

    法一:删除注册表中的HKY_LOCAL_MACHINE\\SYSTEM|ControlSet001\\Services\\VSS,卸载重装.法二:点击 setup目录下的 wpie15.exe ..  ...

  4. C#操作系统日志

    系统日志可以帮助我们分析操作系统的安全与否,也可以帮助我们将一些不好调试的信息显示出来. C#操作系统日志主要是通过EventLog类来实现的. 一 图解 打开事件查看器,其中与EventLog类对应 ...

  5. RichTextBox 自动滚动到最后

    RichTextBox.AppendText($"[{DateTime.Now.ToString("hh:mm:ss")}] {msg}\n"); RichTe ...

  6. Antelope 和Barracuda区别

    Antelope是innodb-base的文件格式, Barracude是innodb-plugin后引入的文件格式,同时Barracude也支持Antelope文件格式.两者区别在于: 文件格式 支 ...

  7. CentOS 6.3 配置 yum

    ContOS 配置yum:1.cd /etc/yum.repos.d2.创建个任意目录,将所有文件移动到创建的目录中,除了CentOS-Media.repo3.编辑CentOS-Media.repov ...

  8. 腾讯WEB前端开发三轮面试经历及面试题

    [一面]~=110分钟  2013/04/24 11:20  星期三 进门静坐30分钟做题. 填空题+大题+问答题 >>填空题何时接触电脑 何时接触前端运算符 字符串处理        延 ...

  9. 总线(BUS)和总线操作

    1.什么是总线? 答:总线是运算部件之间数据流通的公共通道. 2.总线的作用? 答:提高专用信号处理逻辑电路的运算能力和速度. 3.总线与部件之间是怎么连接的? 答:各运算部件和数据寄存器组是通过带控 ...

  10. 获取iOS设备的内存状况(转)

    转载自:http://mobile.51cto.com/iphone-285371.htm   iPhone这类移动设备内存有限,而又不能使用交换区,为了不至于导致内存不足而引起运行效率降低或应用崩溃 ...