这个 JavaScript 正则表达式的 C# 等价物是什么?
str.replace(/(\w)\w*/g, "$1");
Javascript 输入 + 结果(所需):
Input: I like pie!
Result: i l p!
C# 输入 + 结果(使用下面发布的 Tim 版本):
Input: I like pie!
Result: \1 \1 \1!
还有其他想法吗?
最佳答案
resultString = Regex.Replace(subjectString, "([A-Z0-9_])[A-Z0-9_]*", "$1", RegexOptions.IgnoreCase);
此更改是必要的,因为 \w
在 .NET 正则表达式中比在 JavaScript 正则表达式中匹配得更多。
(除非您还想匹配包含非 ASCII 字母/数字的单词,在这种情况下 `@"(\w)\w*"会更好。)
关于JS RegEx 表达式的 C# 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6678969/