C#string
では、文字列内の" "
をstring.empty
に置き換えたい場合、stringValue.Trim()
またはstringValue.replace(" ", string.empty)
を使用しても問題ありません。両方とも同じ目的を果たします。しかし、どちらが良いですか?
Trim()
とReplace()
は同じ目的を果たしません。
Trim()
は、文字列の先頭と末尾からすべての空白文字を削除します。つまり、spaces
、tabs
、_new lines
_、returns
、およびその他の各種の空白文字を意味します。
Replace()
は、指定された文字のみを指定の置換に置き換えます。したがって、Replace(" ", string.empty)
はスペースのみを空の文字列に置き換えます。また、Replace()は、指定された文字列の最初と最後のインスタンスだけでなく、指定された文字列のすべてのインスタンスを指定の置換に置き換えます。
String.Replace
はすべての(そして唯一の)スペース文字を削除し、String.Trim
は、文字列の中間部分ではなく、文字列の先頭と末尾からすべての空白文字を削除します。
var tmp = " hello world \t";
var res1 = tmp.Trim(); // "hello world"
var res2 = tmp.Replace(" ", String.Empty); // "helloworld\t"
トリムは、文字列の先頭および/または末尾からのみ空白文字と非空白文字を削除できます。 Replaceは、文字列内の任意の場所から部分文字列を削除できます。
例:
_Console.WriteLine("{{Hello World!:)".Trim('{',':',')')); //output: Hello World
Console.WriteLine("{{Hello%World!:)".Trim('{', '%', ':',')')); //output: Hello%World
Console.WriteLine("{{Hello World!:)".Replace("{{", string.Empty)
.Replace(":)",string.Empty)); //output: Hello World
Console.WriteLine("{{Hello%World!:)".Replace("{{", string.Empty)
.Replace("%", string.Empty)
.Replace(":)",string.Empty)); //output: Hello World
_
TL; DR:文字列の先頭または末尾から1文字だけを削除する場合は、Trim()
を使用します。それ以外の場合は、Replace()
を呼び出します。
char [] chartrim={'*'};
string name=Console.ReadLine(); //input be *** abcd **
string result= name.Trim(chartrim);
Console.WriteLine(result);
この場合、出力はabcd
になります。トリムは、文字列の先頭と末尾から削除する空白または記号のみを削除します。
しかし、string.Replace()の場合は、exに置き換えたい文字列を置き換えます。
string name=Console.ReadLine(); //input be mahtab alam
string str2="khan";
string result= name.Replace("alam",str2);
Console.WriteLine(result);
この場合、o/pはmahtab khan
。
文字列間のスペースを削除する場合(この場合、出力はmahtabalamになります)
string name=Console.ReadLine(); //input be mahtab alam
string result= name.Replace(" ",string.Empty);
Console.WriteLine(result)
String.Trim()
は、先頭と末尾のスペースのみを削除します。そのため、目的にはString.Replace()
を使用する必要があります。
トリムは先頭と末尾の空白を削除しますが、置換は文字列データを変更します。あるサブストリングのすべての出現を別のサブストリングに変更します。また、文字の置換も処理します。
Replaceは、文字列内の任意の場所で置き換えます。トリムは、文字列の先頭と末尾から空白のみをトリミングします。
nick Zimmermanが言ったように、Trim()は文字列の最初と最後からすべての空白文字を削除します。ただし、別の方法で使用することもできます。
Trim(char [] trimChars)は、パラメーターとして渡された配列で指定された文字セットの先頭および末尾の出現をすべて削除します。