C#小知识之中英文转换、去空格

简介: # 一、中英文转换## 1、安装NPinYin![请在此添加图片描述](https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/column/article/5877188/20231031-1f77b9b6.png?x-cos-security-token=kcWkaWALSQ5t0gKzZRkVwYOOBJMLQ8Ra8df6748cc017b8b22443671efb8aed172ct0qMmH-Si3jPfLmVc91udBHTdfdp2n1Qk-hBfLRQF5l22U2cHOMKfU7b0bWfl1t

一、中英文转换

1、安装NPinYin

请在此添加图片描述

2、编写代码

string str = "这里是测试的中文字符串";
string str1 = Pinyin.GetChineseText(str);
string str2 = Pinyin.GetInitials(str);
string str3 = Pinyin.GetPinyin(str);

Console.WriteLine("取和拼音相同的汉字列表:" + str1);
Console.WriteLine("取中文文本的拼音首字母:" + str2);
Console.WriteLine("取中文文本的拼音:" + str3);

3、运行结果

请在此添加图片描述

二、去空格

1、编写代码

string strWithSpaces = " this is a test string with spaces ";

// 字符串行数Trim()可以去掉字符串前后的空格
Console.WriteLine(strWithSpaces.Trim());

// 使用字符串的Replace()函数可以去掉字符串中间及前后的空格
Console.WriteLine(strWithSpaces.Replace(" ", ""));


// 然而,当字符串中含转义字符(如\r, \t, \n)时,Replace函数输出的结果中还是有空格,如:
string strWithSpaces2 = "this\n is\r a\t test\n string\r with\t spaces";
Console.WriteLine(strWithSpaces2.Trim());

// 此时当然可以用多个Replace函数来替换这些空格,但稍显麻烦;可以考虑用正则表达式方法Regex.Replace()和匹配符\s(匹配任何空白字符,包括空格,制表符,换页符等,与[\f\n\t\r\v]等效),如:
 Console.WriteLine(Regex.Replace(strWithSpaces2, @"\s", ""));

2、运行结果

请在此添加图片描述

三、中文转英文 + 去掉空格

1、编写代码

string str = "这里是测试的中文字符串";
string strFinal = Regex.Replace(Pinyin.GetPinyin(str).Trim(), @"\s", "");
Console.WriteLine("终极优化:" + strFinal);

2、运行效果

请在此添加图片描述

参考链接

如何去掉C#字符串中的所有空格
npinyin

遇到此问题做此记录,如有帮助,欢迎点赞关注收藏!

目录
相关文章
|
C#
C# 将字符串中的多个连续空格变成一个
C# 将字符串中的多个连续空格变成一个
371 0
C# 字符串中多个连续空格转为一个空格
#region 字符串中多个连续空格转为一个空格 /// <summary> /// 字符串中多个连续空格转为一个空格 /// </summary> /// <param name="str">待处理的字符串</param> /// <returns&gt
2190 0
|
C# Windows 算法
C# 调用命令行,参数有空格
在程序中调用cmd命令打开一个文件,而文件路径带有空格,如果直接把路径传给cmd,那么cmd就会把路径空格前面的部分当做是一个参数,空格后当做另一个参数,命令行执行把后边截掉了,导致程序出错,会弹出了C:\Program 不是内部或外部命令,也不是可运行的程序或批处理文件的错误提示。
1976 0
c#中去掉字符串空格方法
一、案例问题现场     你拿一个带有空格(\0)的字符串如果去给Form上的label或TextEdit赋值时,常常会出现下面的问题: 案例1、 string str = "I\0am\0super\0man";...
1016 0
|
C# 移动开发
C# 删除字符串中任何位置的空格
你或许知道你能使用String.Trim方法去除字符串的头和尾的空格,不幸运的是. 这个Trim方法不能去除字符串中间的C#空格。     static void Main()        {            //demo1     除去空格,提取出各个单词            string s = "a b c";            string[] word = s.
1074 0
|
1月前
|
C# 开发者
C# 一分钟浅谈:Code Contracts 与契约编程
【10月更文挑战第26天】本文介绍了 C# 中的 Code Contracts,这是一个强大的工具,用于通过契约编程增强代码的健壮性和可维护性。文章从基本概念入手,详细讲解了前置条件、后置条件和对象不变量的使用方法,并通过具体代码示例进行了说明。同时,文章还探讨了常见的问题和易错点,如忘记启用静态检查、过度依赖契约和性能影响,并提供了相应的解决建议。希望读者能通过本文更好地理解和应用 Code Contracts。
35 3
|
1天前
|
存储 安全 编译器
学懂C#编程:属性(Property)的概念定义及使用详解
通过深入理解和使用C#的属性,可以编写更清晰、简洁和高效的代码,为开发高质量的应用程序奠定基础。
27 12
|
1月前
|
设计模式 C# 图形学
Unity 游戏引擎 C# 编程:一分钟浅谈
本文介绍了在 Unity 游戏开发中使用 C# 的基础知识和常见问题。从 `MonoBehavior` 类的基础用法,到变量和属性的管理,再到空引用异常、资源管理和性能优化等常见问题的解决方法。文章还探讨了单例模式、事件系统和数据持久化等高级话题,旨在帮助开发者避免常见错误,提升游戏开发效率。
51 4