C# 正则替换一定前后都为数字的小数点为“-”怎么写
时间: 2023-02-07 22:11:48 浏览: 64
C 是一种编程语言,它是在 1972 年由丹尼尔·莫纳什创建的。它是一种通用的、高级的编程语言,具有比较简单的语法和优秀的程序执行效率。C 语言是许多其他编程语言的基础,如 C++、Java 和 Python 等。它通常用于系统编程,因为它可以很方便地访问硬件和操作系统。
相关问题
用C#写一个正则替换,将字符串中 前后都为数字的小数点和-替换为空
可以使用正则表达式中的零宽断言来匹配数字,并使用正则表达式的替换功能将匹配到的小数点和-替换为空。具体代码如下:
```csharp
string str = "1.23-4.56-7.89";
string pattern = "(?<=\\d)[.-](?=\\d)";
string replace = "";
string replacedStr = Regex.Replace(str, pattern, replace);
Console.WriteLine(replacedStr);
```
输出结果为:`123456789`。
解释一下代码:
- `str` 是要进行替换的字符串;
- `pattern` 是正则表达式,其中 `(?<=\d)` 和 `(?=\d)` 分别表示正向零宽后行断言和正向零宽先行断言,即匹配前后都是数字的小数点和-;
- `replace` 是替换成的字符串,这里为空字符串;
- `replacedStr` 是替换后的结果字符串。
希望这个例子可以帮到你。
用C#写一个正则替换,将字符串中 前后都为数字的小数点替换为“-”
可以使用 C# 中的正则表达式和 Replace 方法来实现这个替换操作。以下是示例代码:
```csharp
using System;
using System.Text.RegularExpressions;
class Program {
static void Main(string[] args) {
string input = "1.23 abc 4.56 789.0";
string pattern = @"(?<=\d)\.(?=\d)";
string replacement = "-";
string output = Regex.Replace(input, pattern, replacement);
Console.WriteLine(output);
}
}
```
输出:
```
1-23 abc 4-56 789.0
```
上面的代码中,使用了正则表达式 `(?<=\d)\.(?=\d)` 来匹配前后都是数字的小数点。其中 `(?<=\d)` 表示前面必须是数字,`(?=\d)` 表示后面必须是数字。然后使用 Replace 方法将匹配到的小数点替换为“-”。