[C#] 字串拆成特定長度字串

字串拆成特定長度,下面提供兩個方式:

IEnumerable

/// <summary>
/// 字串拆成特定長度
/// </summary>
/// <param name="str">原始字串</param>
/// <param name="chunkSize">每個區塊的長度</param>
/// <returns></returns>
/// <example>
/// <code>
/// var s = Split("5275797574", 2);
/// </code>
/// </example>
/// <see href="https://www.ruyut.com/2021/08/CSharpStringSplit.html"/>
static IEnumerable<string> Split(string str, int chunkSize)
{
return Enumerable.Range(0, str.Length / chunkSize)
.Select(i => str.Substring(i * chunkSize, chunkSize));
}

假設你比較習慣字串陣列

/// <summary>
/// 字串拆成特定長度
/// </summary>
/// <param name="str">原始字串</param>
/// <param name="chunkSize">每個區塊的長度</param>
/// <returns></returns>
/// <example>
/// <code>
/// string[] s = Split("5275797574", 2);
/// </code>
/// </example>
/// <see href="https://www.ruyut.com/2021/08/CSharpStringSplit.html"/>
static string[] Split(string str, int chunkSize)
{
return Enumerable.Range(0, str.Length / chunkSize)
.Select(i => str.Substring(i * chunkSize, chunkSize)).ToArray();
}


資料來源:StackOverflow

留言