C# 过滤特殊字符,保留中文,字母,数字,和-
时间: 2023-10-22 21:07:46 浏览: 95
你可以使用正则表达式来实现该功能,具体代码如下:
```csharp
string input = "hello, world! 你好,世界!123-456";
string pattern = @"[^\u4E00-\u9FA5a-zA-Z0-9-]";
string output = Regex.Replace(input, pattern, "");
Console.WriteLine(output);
```
该代码中,`input` 是待过滤的字符串,`pattern` 是用于匹配非中文、字母、数字和 `-` 的正则表达式,`output` 是过滤后的结果。`Regex.Replace` 方法可以将匹配到的字符串替换为空字符串,从而实现过滤的功能。
相关问题
C# 过滤特殊字符正则表达式
C 语言是一种通用的、高级的计算机程序设计语言。它由计算机科学家丹尼斯·里奇在 1972 年开发,旨在作为计算机系统的编程语言。C 语言的设计具有较强的可移植性,能够在大多数计算机平台上编译和运行。C 语言的语法借鉴了许多其他语言,例如 C++、Java 和 Python 等,因此对于学习其他编程语言的人来说,学习 C 语言是很有帮助的。C 语言广泛用于系统编程、应用程序开发和其他各种领域,例如操作系统、数据库、网络编程等。
C#中使用正则表达式删除字符中的非字母和非数字
您可以使用正则表达式来删除字符串中的非字母和非数字字符。下面是一个C#代码示例:
```csharp
using System;
using System.Text.RegularExpressions;
class Program {
static void Main(string[] args) {
string input = "Hello, 123 world!";
// 创建正则表达式模式匹配非字母和非数字字符
Regex regex = new Regex("[^a-zA-Z0-9]");
// 使用 Replace() 方法替换匹配的字符为空字符串
string result = regex.Replace(input, "");
Console.WriteLine(result); // 输出 "Hello123world"
}
}
```
在上面的示例中,我们首先创建了一个正则表达式模式,该模式匹配任何非字母和非数字字符。然后我们使用 `Replace()` 方法将匹配的字符替换为空字符串,从而删除它们。最后,输出结果字符串 "Hello123world"。