相关疑难解决方法(0)

在c#中拆分不使用String.Split()的字符串的替代方法是什么

我看到这个问题给出了一个字符串"smith; rodgers; McCalne"你怎么能产生一个集合.答案是使用String.Split.

如果我们没有内置的Split()代替你做什么?

更新:

我承认编写分割函数相当容易.以下是我写的内容.使用IndexOf循环遍历字符串并使用Substring进行提取.

string s = "smith;rodgers;McCalne";

string seperator = ";";
int currentPosition = 0;
int lastPosition = 0;

List<string> values = new List<string>();

do
{
    currentPosition = s.IndexOf(seperator, currentPosition + 1);
    if (currentPosition == -1)
        currentPosition = s.Length;

    values.Add(s.Substring(lastPosition, currentPosition - lastPosition));

    lastPosition = currentPosition+1;

} while (currentPosition < s.Length);
Run Code Online (Sandbox Code Playgroud)

我看了一下SSCLI的实现和上面的类似,除了它处理更多的用例,并且在进行子字符串提取之前使用不安全的方法来确定分隔符的索引.

其他人提出以下建议.

  1. 使用迭代器块的扩展方法
  2. 正则表达式建议(没有实现)
  3. Linq聚合方法

是这个吗?

c# string

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

标签 统计

c# ×1

string ×1