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