小Q的博客

  • 首页
  • net编程
    • 产品和框架
    • 开发实例
    • 经验技巧
    • 开源组件
  • wp独立站
  • 自媒体
  • 日记本
  • 工具箱
每个程序员,都应该有一个自己的博客站
  1. 首页
  2. net编程
  3. 经验技巧
  4. 正文

net中c#教程 string字符串的常用操作

2022年10月5日 1582点热度 0人点赞 1条评论

无论是用net语言,还是java语言,即使用python、php语言,string字符串操作都是最基础的,本博客主要是面对string的教程,希望对小伙伴们有帮助。因为是工作经验的总结,所以博客会不断更新,推荐收藏关注

net中c#之字符串操作

 

Table of Contents

Toggle
  • 1、字符串合并
  • 2、获取字符串左侧或右侧子串
  • 3、生成Guid串
  • 4、汉字的简繁体转换
  • 5、数字和人民币大写转换
  • 6、全角和半角的转换
  • 7、获取汉字的简拼和全拼
  • 8、统计字符串中字母、数字和汉字
  • 9、ip地址和数字互转

1、字符串合并

最早使用的是StringBuilder,后来发现使用泛型也可以搞定,而且耗时更短。推荐使用

//字符串合并
//1,使用StringBuilder      
StringBuilder sb11 = new StringBuilder();
for (int i = 1; i <= 100; i++)
{
    if (i == 100)
        sb11.Append(i);
    else
        sb11.Append(i + ",");
}
string ss11 = sb11.ToString();            
Console.WriteLine(string.Format("StringBuilder结果:{0}", ss11));
Console.WriteLine("");

//2,使用List泛型
List<string> listP12 = new List<string>();
for (int i = 1; i <= 100; i++)
{
    listP12.Add(i.ToString());
}
string ps12 = string.Join(",", listP12);            
Console.WriteLine(string.Format("List结果:{0}", ps12));
Console.WriteLine("");

 

2、获取字符串左侧或右侧子串

其实都是使用Substring函数,右侧的需要额外处理下而已

//截取字符串左侧或右侧子串
string source = "左侧的中侧的右侧的";
string left = StringHelper.Left(source, 6);     //结果:左侧的中侧的
string right = StringHelper.Right(source, 6);   //结果:中侧的右侧的
Program.WriteLine(string.Format("左侧:{0},右侧:{1}", left, right));

 

3、生成Guid串

据说这个串只要生成了,就是世界上独一无二的,不可能重复,可以用作软件的授权码。有时需要把里面的-这个符号去掉,其实只要这样格式化下就行了

//生成guid字符串            
string guid1 = Guid.NewGuid().ToString();
Program.WriteLine("Guid值1:" + guid1);

//这个串中有个中线划,有时是不需要的,其实只要这样处理就可以
string guid2 = Guid.NewGuid().ToString("N");
Program.WriteLine("Guid值2:" + guid2);

 

4、汉字的简繁体转换

也是有现成的类库使用的,net官方出品,值得信赖

//汉字简繁体转换
string source = "我是中国人";
string target1 = StringHelper.WordConv("s2t", source);      //结果:我是中國人
string target2 = StringHelper.WordConv("t2s", target1);     //结果:我是中国人
Program.WriteLine(string.Format("target1:{0},target2:{1}", target1, target2));

 

5、数字和人民币大写转换

不仅可以把数字转成大写的金额,还可以把大写的金额再转回数字

//数字和大写金额互换
string cmValue1 = StringHelper.NumToChineseMoney(12345678);     //结果:一千二百三十四万五千六百七十八
long numValue2 = StringHelper.ChineseMoneyToNum(cmValue1);      //结果:12345678

 

6、全角和半角的转换

虽然不太常用,但也实现了

//全角和半角转换
string source1 = StringHelper.ToSBC("我是中国人,你好吗?");  //结果:我是中国人,你好吗?
string source2 = StringHelper.ToDBC(source1);               //结果:我是中国人,你好吗?

 

7、获取汉字的简拼和全拼

美中不足就是对多音字的处理不好,真正使用时,要额外处理才行。比如弄个多音字库

//获取汉字的简拼和全拼
string source1 = "我是中国人,我爱我的祖国";
string target1 = StringHelper.GetHanZiToJianPin(source1);   //结果:w s z g r , w a w d z g
string target2 = StringHelper.GetHanZiToQuanPin(source1);   //结果:wo shi zhong guo ren , wo ai wo de zu guo

 

8、统计字符串中字母、数字和汉字

就是实现Word里的功能

//统计字符串中的字母、数字和汉字个数
string source = "2022日本赛后,羽坛有近一个月的真空期(没有比赛),球员可以利用这段时间训练、养伤和休息,备战10月底的欧洲赛事。但从丹麦赛的报名单上,韩国单打球员安洗莹没有出现。这个迷之操作连安洗莹本人都不清楚,发文说:自己的伤已经好了,为什么没有报上?";

/*
字数:121
字节数量:223
数字数量:6
字母数量:0
汉字数量:102
符号数量:13
*/
string target = StringHelper.GetTextAllWordCnt(source);
Program.WriteLine(target);

 

9、ip地址和数字互转

一直不清楚这个功能会用到哪个场景,但也实现了。总感觉会有地方用到

//ip地址和数字互转
string ip1 = "192.168.1.123";
string ip2 = StringHelper.IpToNum(ip1);     //结果:3232235899
string ip3 = StringHelper.NumToIp(ip2);     //结果:192.168.1.123

 

标签: c#教程 net教程 字符串操作
最后更新:2022年10月5日

小Q

80后中年不油腻大叔,喜欢编写代码、打羽毛球、做木制玩具。目前定居浙江杭州

打赏 点赞
< 上一篇
下一篇 >

文章评论

  • 137

    Hey there I am so excited I found your website, I really found you by mistake, while I was searching on Askjeeve for
    something else, Nonetheoess I aam here now and would just like too say many thanks for a remaekable post and a all round
    interestiing blog (I alo love the theme/design), I don't hazve time to ggo through it all at thhe moment but I have book-marked it and also included your RSS feeds, soo when I have time I will be back to readd more, Please do keep upp thhe fantastic job.

    2023年2月23日
    回复
  • razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
    取消回复

    COPYRIGHT © 2022 小Q的博客. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang

    浙ICP备2022019157号-2