gpt4 book ai didi

c# - 有没有一种优雅的方法来解析单词并在大写字母前添加空格

转载 作者:IT王子 更新时间:2023-10-29 04:40:57 25 4
gpt4 key购买 nike

我需要解析一些数据,我想转换

AutomaticTrackingSystem

Automatic Tracking System

本质上是在任何大写字母前放置一个空格(当然除了第一个)

最佳答案

您可以使用环视,例如:

string[] tests = {
"AutomaticTrackingSystem",
"XMLEditor",
};

Regex r = new Regex(@"(?!^)(?=[A-Z])");
foreach (string test in tests) {
Console.WriteLine(r.Replace(test, " "));
}

这会打印 ( as seen on ideone.com ):

Automatic Tracking System
X M L Editor

正则表达式 (?!^)(?=[A-Z])由两个断言组成:

  • (?!^) - 即我们不在字符串的开头
  • (?=[A-Z]) - 即我们就在大写字母之前

相关问题

引用资料


平分秋色

这就是使用断言真正发挥作用的地方,当您有多个不同的规则,和/或您想要 Split而不是 Replace .这个例子结合了两者:

string[] tests = {
"AutomaticTrackingSystem",
"XMLEditor",
"AnXMLAndXSLT2.0Tool",
};

Regex r = new Regex(
@" (?<=[A-Z])(?=[A-Z][a-z]) # UC before me, UC lc after me
| (?<=[^A-Z])(?=[A-Z]) # Not UC before me, UC after me
| (?<=[A-Za-z])(?=[^A-Za-z]) # Letter before me, non letter after me
",
RegexOptions.IgnorePatternWhitespace
);
foreach (string test in tests) {
foreach (string part in r.Split(test)) {
Console.Write("[" + part + "]");
}
Console.WriteLine();
}

这会打印 ( as seen on ideone.com ):

[Automatic][Tracking][System]
[XML][Editor]
[An][XML][And][XSLT][2.0][Tool]

相关问题

关于c# - 有没有一种优雅的方法来解析单词并在大写字母前添加空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3103730/

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