我想分开camelCase或PascalCase单词空格分开单词集合.
到目前为止,我有:
Regex.Replace(value, @"(\B[A-Z]+?(?=[A-Z][^A-Z])|\B[A-Z]+?(?=[^A-Z]))", " $0", RegexOptions.Compiled);
Run Code Online (Sandbox Code Playgroud)
它适用于将"TestWord"转换为"Test Word"并保持单个单词不变,例如Testing遗留Testing.
然而,ABCTest转换到A B C Test我想要的时候ABC Test.
尝试:
\n[A-Z][a-z]+|[A-Z]+(?=[A-Z][a-z])|[a-z]+|[A-Z]+\nRun Code Online (Sandbox Code Playgroud)\n\nstring strText = " TestWord asdfDasdf ABCDef";\n \nstring[] matches = Regex.Matches(strText, @"[A-Z][a-z]+|[A-Z]+(?=[A-Z][a-z])|[a-z]+|[A-Z]+")\n .Cast<Match>()\n .Select(m => m.Value)\n .ToArray();\n \nstring result = String.Join(" ", matches);\nRun Code Online (Sandbox Code Playgroud)\nresult=\'Test Word asdf Dasdf ABC Def\'
在示例字符串中:
\n[A-Z][a-z]+|[A-Z]+(?=[A-Z][a-z])|[a-z]+|[A-Z]+\nRun Code Online (Sandbox Code Playgroud)\n[A-Z][a-z]+火柴:
TestWordDasdfTestTestingCamelCaseAasdfAaBbb[A-Z]+(?=[A-Z][a-z])火柴:
ABC[a-z]+火柴:
qwerasdf[A-Z]+火柴:
CD| 归档时间: |
|
| 查看次数: |
121 次 |
| 最近记录: |