C# 从字符串中获取大写字母的索引
可能重复:C# 从字符串中获取大写字母的索引,c#,.net,regex,string,C#,.net,Regex,String,可能重复: 我有这样一个字符串:MyUnsolvedProblem 我想这样修改字符串:My Unsolved Problem 我该怎么做?我尝试过使用正则表达式,但没有成功 resultString = Regex.Replace("MyUnsolvedProblem", "([a-z])([A-Z])", "$1 $2"); 没有正则表达式: var s = "MyUnsolvedProblem"; var result = string.Concat(s.Select(c =>
我有这样一个字符串:
MyUnsolvedProblem
我想这样修改字符串:My Unsolved Problem
我该怎么做?我尝试过使用正则表达式,但没有成功
resultString = Regex.Replace("MyUnsolvedProblem", "([a-z])([A-Z])", "$1 $2");
没有正则表达式:
var s = "MyUnsolvedProblem";
var result = string.Concat(s.Select(c => char.IsUpper(c) ? " " + c.ToString() : c.ToString()))
.TrimStart();
如果有帮助的话,我可以提供一个如何在C#中执行的建议:
String PreString = "getAllItemsByID";
System.Text.StringBuilder SB = new System.Text.StringBuilder();
foreach (Char C in PreString)
{
if (Char.IsUpper(C))
SB.Append(' ');
SB.Append(C);
}
Response.Write(SB.ToString());
我确信也有一种方法可以用正则表达式实现,但这是一种选择。基于LINQ的方法:
string data = "TestStringData";
var converted = data.Select(x => Char.IsUpper(x) ? String.Concat(" ", x) : x.ToString());
var singleString = converted.Aggregate((a, b) => a + b);
仅获取索引外观
string data = "TestStringData";
var converted = data.Select(x => Char.IsUpper(x) ? String.Concat(" ", x) : x.ToString());
var singleString = converted.Aggregate((a, b) => a + b);