Run Code
|
API
|
Code Wall
|
Users
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Blog
Split string into equal chunks
Language:
Ada
Assembly
Bash
C#
C++ (gcc)
C++ (clang)
C++ (vc++)
C (gcc)
C (clang)
C (vc)
Client Side
Clojure
Common Lisp
D
Elixir
Erlang
F#
Fortran
Go
Haskell
Java
Javascript
Kotlin
Lua
MySql
Node.js
Ocaml
Octave
Objective-C
Oracle
Pascal
Perl
Php
PostgreSQL
Prolog
Python
Python 3
R
Rust
Ruby
Scala
Scheme
Sql Server
Swift
Tcl
Visual Basic
Layout:
Vertical
Horizontal
//Title of this code //Rextester.Program.Main is the entry point for your code. Don't change it. using System; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; namespace Rextester { public class Program { public static void Main(string[] args) { Split("123", 2).ForEach(f => Console.WriteLine(f)); } public static List<string> Split(string str, int chunks) { var l = new List<string>(); if (string.IsNullOrEmpty(str)) return l; if (str.Length < chunks) { l.Add(str); return l; } int chunkSize = str.Length / chunks; int stringLength = str.Length; for (int i = 0; i < stringLength; i += chunkSize) { if (i + chunkSize > stringLength) chunkSize = stringLength - i; l.Add(str.Substring(i, chunkSize)); } string residual = ""; l.Where((f, i) => i > chunks - 1).ToList().ForEach(f => residual += f); l[chunks - 1] += residual; return l.Take(chunks).ToList(); } } }
Show compiler warnings
[
+
]
Show input
Compilation time: 0.14 sec, absolute running time: 0.09 sec, cpu time: 0.08 sec, average memory usage: 16 Mb, average nr of threads: 4
edit mode
|
history
|
discussion
1 23