相关疑难解决方法(0)

在Capital Letter之前添加空格

给定字符串"ThisStringHasNoSpacesButItDoesHaveCapitals",在大写字母之前添加空格的最佳方法是什么.所以结束字符串将是"这个字符串没有空格,但它有资本"

以下是我使用RegEx的尝试

System.Text.RegularExpressions.Regex.Replace(value, "[A-Z]", " $0")
Run Code Online (Sandbox Code Playgroud)

c# regex string

185
推荐指数
7
解决办法
7万
查看次数

一种"松散"CamelCased字符串的算法

非常基本,我只是好奇其他人如何实现这个算法,并希望看看是否有任何聪明的技巧来优化算法......我只需要为我正在研究的项目实现这个.

鉴于CamelCase中有一个字符串,你会如何"区分"它呢?

例如,给予FooBarGork我想要Foo Bar Gork.

这是我在C#中的算法:


static void Main(string[] args)
{
    Console.WriteLine(UnCamelCase("FooBarGork"));
}
public static string UnCamelCase(string str)
{
    StringBuilder sb = new StringBuilder();
    for (int i =  0; i < str.Length; i++)
    {
        if (char.IsUpper(str, i) && i > 0) sb.Append(" ");
        sb.Append(str[i]);
    }
    return sb.ToString();
}

由于你必须访问每个角色一次,我相信最好的情况是O(n).你会如何实现这个?

language-agnostic string algorithm

3
推荐指数
1
解决办法
1195
查看次数

LINQ中的字符替换?

我试图整理一个解决方案: 在驼峰式令牌上的单词之间插入空格

基本上,他想把'ThisIsATest'变成'This Is A Test'.我想,'哦,这很容易,我可以用LINQ做到这一点',但我很努力.

有人能帮我吗?

Dim s As String = String.Join("", From myChar As Char In myStr _
                                  Select If(Char.IsUpper(myChar), (" " & myChar).ToString, myChar.ToString))
Run Code Online (Sandbox Code Playgroud)

我开始走下去的道路,但是我无法将结果变成我可以使用的东西.我甚至添加了.ToString来尝试获取一个字符串数组,但我仍然收到错误.

无法将类型为'WhereSelectEnumerableIterator`2 [System.Char,System.String]'的对象强制转换为'System.String []'.

我相信这意味着我得到的是System.Char,System.String的集合,而不仅仅是我想要的System.String.

我究竟做错了什么?

.net c# linq vb.net

2
推荐指数
1
解决办法
1387
查看次数

标签 统计

c# ×2

string ×2

.net ×1

algorithm ×1

language-agnostic ×1

linq ×1

regex ×1

vb.net ×1