c如何比较两个字母匹配但其中一个有空格的字符串

本文关键字:一个 字符串 空格 何比较 比较 两个 | 更新日期: 2023-09-27 17:58:02

下面是我的代码,我如何使if返回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;
}

c如何比较两个字母匹配但其中一个有空格的字符串

使用Trim函数:

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

不过,这只会从末端修剪。如果中间可能存在空间,请使用"替换"。

如果空白仅位于字符串的末尾,则修剪两个字符串:

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
{         
    // ....
}

尝试此条件:

if (tenInstrucType.Replace(" ",string.Empty).Equals(instrucType.Replace(" ",string.Empty))

修剪字符串:

if (tenInstrucType.Trim().Equals(instrucType.Trim()))
if (tenInstrucType.Replace(" ","").Equals(instrucType.Replace(" ","")))

对于这种情况,使用Trim似乎是合适的,但请注意,Trim只删除前导或结束空格;内部空间不会被移除。