C#でStringBuilderの指定したインデックスから文字を削除する方法
C#のStringBuilderクラスを使うと、可変長の文字列を効率的に操作できます。ここでは、指定したインデックスから始まる複数の文字を削除する方法を解説します。
StringBuilderの設定
まず、削除対象となる文字列を持つStringBuilderオブジェクトを作成します。
StringBuilder str = new StringBuilder("Airport");Remove()メソッドで文字を削除する
文字を削除するには、Remove()メソッドを使用します。このメソッドは、指定した開始インデックスから一定数の文字をまとめて削除します。
str.Remove(3, 4);
上記のコードでは、第1引数の「3」が削除の開始位置(インデックス3=4番目の文字)、第2引数の「4」が削除する文字数を表しています。つまり、インデックス3から始まる4文字が削除されます。
サンプルコード
完全なコードは以下の通りです。
using System;
using System.Text;
public class Program {
public static void Main() {
StringBuilder str = new StringBuilder("Airport");
Console.WriteLine("String: "+str);
// 4文字を削除
Console.Write("String after removing characters: ");
str.Remove(3, 4);
Console.WriteLine(str);
}
}実行結果
String: Airport String after removing characters: Air
「Airport」という7文字の文字列から、インデックス3以降の4文字(「p」「o」「r」「t」)が取り除かれ、「Air」という結果になっていることがわかります。Remove()メソッドを活用すれば、StringBuilder内の任意の位置にある文字列を柔軟に削除できます。
-
Pythonで空でない文字列から指定したインデックスの文字を削除する方法
空でない文字列から特定のインデックス位置にある文字を削除したい場合、文字列を先頭から順に反復処理し、削除対象のインデックスと一致しない文字だけを別の新しい文字列に格納していくという方法が使えます。以下に具体的な実装例を示します。サンプルコードmy_string = Hi there how are you print(元の文字列:) print(my_string) index_removed = 2 changed_string = for char in range(0, len(my_string)): if(char != index_removed):
-
【Python】文字列から奇数インデックスの文字を削除するプログラムの書き方
概要文字列から奇数インデックス(1、3、5…番目)の文字を削除したい場合は、文字列を引数として受け取る関数を定義するのが基本です。この記事では、whileループを使った実装方法とその動作を、サンプルコードと実行結果をもとにわかりやすく解説します。サンプルコードdef remove_odd_index_characters(my_str): new_string = "" i = 0 while i < len(my_str):