gpt4 book ai didi

c# - 如何用一个空格替换 2 个或更多空格?我需要用另一种模式替换一种模式

转载 作者:太空宇宙 更新时间:2023-11-03 13:05:58 24 4
gpt4 key购买 nike

我不擅长使用正则表达式,所以这是我的问题...我有这个字符串

#   32 #asd #31223 #   asdf

我需要得到这个:

# 32 Nasd #31223 N asdf

让我解释一下:

1.- 我需要用一个空格删除 2 个或更多空格,我认为可以通过以下方式解决:

Regex.Replace( RemoveDiacritics(text.ToUpper().Trim()), @"[ ]{2,}", @" ", RegexOptions.None);

2.- 之后,如果正则表达式找到#,它需要检查下一个字符,如果它是一个数字,没关系,但如果#的下一个字符是一个字母,我需要替换为一个字母N.

你能帮我解决第二个要求吗?

谢谢!

最佳答案

我会通过两次传递来完成此操作。

第一关:

var normalized = Regex.Replace(inputStr, @"[\s]{2,}"," ");

第二遍:

var nReplaced  = Regex.Replace(normalized , @"#(?!\s*\d)", "N");

第二个正则表达式只是使用否定的前瞻来查找 # 后跟

非数字,如果是,则将其替换为 N

关于c# - 如何用一个空格替换 2 个或更多空格?我需要用另一种模式替换一种模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30791513/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com