C#教程

关注公众号 jb51net

关闭
首页 > 软件编程 > C#教程 > C#字符串分割

C#中字符串分割的多种方式

作者:码农君莫笑

在C#编程语言中,字符串处理是日常开发中不可或缺的一部分,字符串分割是处理文本数据时常用的操作,它允许我们将一个长字符串分解成多个子字符串,本文给大家介绍了C#中字符串分割的多种方式,需要的朋友可以参考下

在 C# 中,字符串分割(Splitting)有多种方法。以下是常见的分割方式,以及它们的性能和适用场景:

1. 使用 string.Split

string text = "apple,banana,orange"; 
string[] result = text.Split(','); 

特点

性能

适用场景

2. 使用正则表达式 (Regex.Split)

using System.Text.RegularExpressions; 
string text = "apple123banana456orange"; 
string[] result = Regex.Split(text, @"\d+"); 

特点

性能

适用场景

3. 使用 Substring 和 IndexOf

string text = "apple,banana,orange"; 
int index = text.IndexOf(','); 
string firstPart = text.Substring(0, index); 
string secondPart = text.Substring(index + 1); 

特点

性能

适用场景

4. 使用 Span<T>(C# 7.2+)

ReadOnlySpan<char> text = "apple,banana,orange".AsSpan(); 
int index = text.IndexOf(','); 
var firstPart = text.Slice(0, index); 
var secondPart = text.Slice(index + 1); 

特点

性能

适用场景

5. 使用 Linq 的 GroupBy 或 Where

using System.Linq; 
string text = "apple,banana,,orange"; 
var result = text.Split(',').Where(s => !string.IsNullOrEmpty(s)).ToArray(); 

特点

性能

适用场景

6. 使用自定义分割逻辑

string text = "apple,banana,orange"; 
List<string> result = new List<string>(); 
int start = 0; 
for (int i = 0; i < text.Length; i++) 
    { 
       if (text[i] == ',') 
          { 
             result.Add(text.Substring(start, i - start)); 
             start = i + 1; 
          } 
   } 
result.Add(text.Substring(start)); // Add the last segment 

特点

性能

适用场景

性能比较

从高到低: Span<T> > string.Split (简单分隔符) > Substring + IndexOf > Regex.Split > Linq

推荐使用场景总结

到此这篇关于C#中字符串分割的多种方式的文章就介绍到这了,更多相关C#字符串分割内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文