3

以下に私のコードを示します。文字列値にスペースが含まれているため、if現在ステートメントをスキップしているため、returnをtrueにするにはどうすればよいですか。if

string instrucType = "FM";
string tenInstrucType = "FM ";
if (tenInstrucType.Equals(instrucType))
{
    blLandlordContactNumberHeader.Visible = true;
    lblLandlordContactNumber.Text = landlordData.LandlordContact.DefPhone;
    lblLandlordEmailHeader.Visible = true;
    lblLandlordEmail.Text = landlordData.LandlordContact.DefEmail;
}
4

5 に答える 5

4

トリム機能を使用します。

if (tenInstrucType.Trim().Equals(instrucType.Trim()))

ただし、これは端からのみトリミングされます。中央にスペースがある可能性がある場合は、置換を使用してください。

于 2013-02-06T11:52:44.340 に答える
1

空白が文字列の最後にのみある場合は、両方の文字列をトリミングします。

if (tenInstrucType.Trim().Equals(instrucType.Trim()))

すべての空白文字を無視する場合は、文字列からそれらを削除できます。

string normalized1 = Regex.Replace(tenInstrucType, @"\s", "");
string normalized2 = Regex.Replace(instrucType, @"\s", "");

if (normalized1 == normalized2) // note: you may use == and Equals(), as you like
{         
    // ....
}
于 2013-02-06T11:53:01.177 に答える
0

この条件を試してください:

if (tenInstrucType.Replace(" ",string.Empty).Equals(instrucType.Replace(" ",string.Empty))
于 2013-02-06T11:52:46.827 に答える
0

文字列をトリミングします。

if (tenInstrucType.Trim().Equals(instrucType.Trim()))
于 2013-02-06T11:53:02.837 に答える
0
if (tenInstrucType.Replace(" ","").Equals(instrucType.Replace(" ","")))

Trimこの場合、使用するのが適切に思えるかもしれませんが、Trim先頭または末尾のスペースのみを削除することに注意してください。内部スペースは削除されません。

于 2013-02-06T12:30:23.813 に答える