c# - 如何从字符串中删除字符列表
问题描述
如何从字符串中删除特定的字符列表?
例如,我有字符串Multilanguage File07
,想删除所有元音、空格和数字来获取字符串MltlnggFl
。
有没有比使用foreach
循环更短的方法?
string MyLongString = "Multilanguage File07";
string MyShortString = MyLongString;
char[] charlist = new char[17]
{ 'a', 'e', 'i', 'o', 'u',
'0', '1', '2', '3', '4', '5',
'6', '7', '8', '9', '0', ' ' };
foreach (char letter in charlist)
{
MyShortString = MyShortString.Replace(letter.ToString(), "");
}
解决方案
使用此代码替换字符串中的字符列表:
using System.Text.RegularExpressions;
string MyLongString = "Multilanguage File07";
string MyShortString = Regex.Replace(MyLongString, "[aeiou0-9 ]", "");
结果:
Multilanguage File07
=> MltlnggFl
Text from which some chars should be removed 12345
=>Txtfrmwhchsmchrsshldbrmvd
解释它是如何工作的:
我在这里使用的正则表达式是一个由括号 []
=>定义的独立字符列表[aeiou0-9 ]
Regex.Replace() 遍历整个字符串并查看每个字符,如果它匹配其中之一正则表达式中的字符。
每个匹配的字母都将被一个空字符串(“”)替换。
推荐阅读
- roku - 如何在 Roku 的 Main 中打开新场景?
- java - java - 如何在java中使用restful api以json格式返回404?
- python - 根据包含字符串的 0/1 矩阵过滤数据帧行
- ios - CBCentralManager.connect() 不起作用的原因是什么?
- ios - JSON写入崩溃中的另一个无效顶级类型
- android - BluetoothAdapter 中的 getDefaultAdapter() 已被弃用
- sql-server - SQL Server:多行的单行输出
- python - 在 Snakemake 中使用 STAR 共享内存模块进行顺序对齐任务
- c# - 获取 razor 元素的 ID 以在 css 中使用 id 样式元素
- typescript - NextJS中服务器端渲染时如何访问存储?