c# - 正则表达式如何合并执行

标签 c# .net regex replace merge

我从 .textContent 返回以下缓冲区

            Latitude

    

    32,6549581304256 

    

        Longitude

    

    -16,9288643331225 

我用以下方法修复了空格 dwText = Regex.Replace( dwText, @"\s{2,}", "\n");导致

Latitude
32,6549581304256
Longitude
-16,9288643331225

然后我将这个新输出转换为我的需要 dwText = Regex.Replace( dwText, @"(纬度|经度)(.*)\n", "$1: ");导致

Latitude: 32,6549581304256
Longitude: -16,9288643331225

我的问题是我可以一次性完成这两行吗?

dwText = Regex.Replace( dwText, @"\s{2,}", "\n");
dwText = Regex.Replace( dwText, @"(Latitude|Longitude)(.*)\n", "$1: ");

我希望能得到一些关于如何更有效地实现这一目标的帮助,谢谢。

最佳答案

尝试以下操作(使用 i 标志),

[\S\s]*?([a-z]+)[\S\s]*?([-\d,]+)[\S\s]*?

更换: $1: $2\n

C# Regex Demo


说明

  • [\S\s]*? - 懒惰地匹配任何东西
  • [a-z]+ (第一个捕获组)- 匹配字母单词,不区分大小写。
  • [-\d,]+ (第二个捕获组)- 匹配数字,- (连字符)和 , (逗号)

关于c# - 正则表达式如何合并执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64979703/

相关文章:

c# - 我的 web api 2 Controller 需要路由

.net - 在 Microsoft .Net 中设置线程处理器关联

c# - 如何在 C# 中使用 PDFLib 9 生成新的 PDF?

regex - 使用 sed 修改 bash 变量

python - `re` 模块匹配Python3中两对括号之间的文本

c# - 使用正则表达式忽略位于两个已知单词之间的未知单词

c# - 我如何在 .Net 控制台应用程序中获取不记名 token ?

c# - 使用 Nodejs 解压缩使用 C# 代码片段压缩的字符串

c# - ASP.Net:文本框的文本更改事件的调用序列问题

ios - 使用大写符号快速获取字符串中的 URL 的正则表达式