c# - How to remove last character from a StringBuilder

c# example - stringbuilder remove last character
The following asp.net c# example code demonstrate us how can we remove/delete last character from a StringBuilder object programmatically in an asp.net application. .Net framework's StringBuilder Class represent a mutable string of characters. StringBuilder Class has a built in method to remove one or more characters from StringBuilder object.

StringBuilder.Remove() method allow us to remove the specified range of characters from this StringBuilder instance. Remove() method has two required parameters named 'startIndex' and 'length'. Both parameters value data type is System.Int32. The 'startIndex' parameter integer value represent the zero-based position in the StringBuilder object where removal begins and the 'length' parameter integer value represent the number of characters to remove.

StringBuilder.Remove() method return type is System.Text.StringBuilder. The returned StringBuilder object is a reference to this instance after the excise operation has completed.

The Remove() method throw ArgumentOutOfRangeException, if any one parameter is less than zero or sum of both parameters value is greater than the length of this instance.

So, to remove last character from a StringBuilder object we pass the 'startIndex' parameter value as StringBuilder.Length-1 and 'length' parameter value to 1. StringBuilder.Length property return the length (number of characters) of StringBuilder object. StringBuilder index is zero-based.

So we can get StringBuilder last character's index by StringBuilder.Length-1 value. We only want to remove one character (last character) from StringBuilder, so we set the Remove() method 'length' parameter value to 1. Finally, we get the modified StringBuilder object where last character is removed.

<%@ Page Language="C#" AutoEventWireup="true"%>
<!DOCTYPE html>
<script runat="server"> 
    protected void Button1_Click(object sender, System.EventArgs e)  
        StringBuilder stringb = new StringBuilder();
        stringb.Append("this is a text. ");
        stringb.Append("this is another text");

        Label1.Text = stringb.ToString();

        //this line remove/delete last character from stringbuilder.
        stringb.Remove(stringb.Length - 1, 1);

        Label1.Text += "<br /><br />after removing last character from stringbuilder....<br />";
        Label1.Text += stringb.ToString();
<html xmlns="http://www.w3.org/1999/xhtml">  
<head id="Head1" runat="server">  
    <title>c# example - stringbuilder remove last character</title>  
    <form id="form1" runat="server">  
        <h2 style="color:MidnightBlue; font-style:italic;">  
            c# example - stringbuilder remove last character
        <hr width="550" align="left" color="Gainsboro" />  
        <br />  
        <br /><br /><br />
            Text="stringbuilder remove last character"  
More c# examples