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. FPGA笔记-读取.dat文件

    读取.dat图像文件 .dat文件是matlab生成的图像文件 initial begin // Initialize Inputs CLK = 0; RST = 1; IMAGE_DATA = 0; ...

  2. cordova navigator app 对象

    navigator.app.loadUrl()  加载 web 页面的应用程序中或者系统默认的浏览器中 navigator .app.cancelLoadUrl()  在 web 页面成功加载之前取消 ...

  3. Delphi XE5教程8:使用Delphi命名空间

    // Project file declarations... //项目文件声明… program MyCompany.ProjectX.ProgramY; // Unit source file d ...

  4. SQL中的日期时间函数

    之所以把日期时间函数单独拿出来回顾一下,是因为这一部分的内容比较独立,C#中也有类似的日期时间函数,趁着想得起来,写个标题先.

  5. fast_recovery_area无剩余空间(ORA-19815)

    一.问题现象 --执行日志切换时,夯住 SQL ('/u01/oradata/oracle/redo04.log') size 50m; SQL> alter system switch log ...

  6. 【转】Linux Framebuffer

    全面的framebuffer详解 一.FrameBuffer的原理 FrameBuffer 是出现在 2.2.xx 内核当中的一种驱动程序接口. Linux是工作在保护模式下,所以用户态进程是无法象D ...

  7. Python开发【第一篇】Python基础之自定义模块和内置模块

    为什么要有模块,将代码归类.模块,用一砣代码实现了某个功能的代码集合. Python中叫模块,其他语言叫类库. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代 ...

  8. openerp 经典收藏 workflow中的‘非典型’自动触发器trigger_model(转载)

    workflow中的‘非典型’自动触发器trigger_model 原文:http://cn.openerp.cn/workflow%E4%B8%AD%E7%9A%84%E9%9D%9E%E5%85% ...

  9. OSM 中国数据(每天都在更新)

    http://download.geofabrik.de/asia/china.html

  10. Mininet VM设置笔记

    Mininet VM是为了加快Mininet安装,而且可以很容易在linux平台上运行. VM运行在Windows,Mac,Linux,通过VMware.VirtualBox,QEMU和KVM. 下载 ...