Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Semrush - keyword research tool

Turn ChatGPT, Claude, Gemini, And CoPilot Into Your Personal Assistant, Business Coach, Content Creator, And More

AFFILIATE MARKETING Your all-in-one performance engine Manage affiliates, creators, and customer referrals in one unified platform—turning every partnership into measurable growth
Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

42,623 questions

55,358 answers

573 users

How to wrap a string into lines of width w in C#

1 Answer

0 votes
/*
    This program wraps a string into lines of maximum width w.

    Method:
    - Split the input text into words using String.Split().
    - Build each line until adding another word would exceed the width.
    - When the limit is reached, store the line and begin a new one.
    - Uses StringBuilder for efficient string construction.
*/

using System;
using System.Text;

class WrapTextDemo
{
    // Function that wraps text into lines of width w
    static string WrapText(string text, int w)
    {
        string[] words = text.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
        StringBuilder line = new StringBuilder();
        StringBuilder result = new StringBuilder();

        foreach (string word in words) {
            // If line is empty, start it with the word
            if (line.Length == 0) {
                line.Append(word);
            }
            else {
                // Check if adding the next word exceeds width
                if (line.Length + 1 + word.Length <= w) {
                    line.Append(' ').Append(word);
                }
                else {
                    // Store the completed line
                    result.AppendLine(line.ToString());
                    line.Clear();
                    line.Append(word);
                }
            }
        }

        // Add the final line
        if (line.Length > 0) {
            result.Append(line.ToString());
        }

        return result.ToString();
    }

    static void Main()
    {
        string sample =
            "C# provides useful built-in tools for handling strings. " +
            "This program demonstrates how to wrap text cleanly and efficiently.";

        string wrapped = WrapText(sample, 35);
        Console.WriteLine(wrapped);
    }
}


/*
run:

C# provides useful built-in tools
for handling strings. This program
demonstrates how to wrap text
cleanly and efficiently.

*/

 



answered Jul 11 by avibootz
edited Jul 11 by avibootz
...