Using String.Trim() and String.TrimEnd()
本文关键字:String TrimEnd and Trim Using | 更新日期: 2023-09-27 18:12:51
我正在实现一个启发式方法,用于将名称拆分为相关字段(我知道将它们分开接收会更容易,但我没有)。我需要去掉所有的。’字符,然后在字符串中有空格的地方进行分割。
为什么不删除'。例如John Doe先生
public void SplitNamesAndRemovePeriods()
{
char[] period = {'.'};
nameInFull = nameInFull.TrimEnd(period);
string[] allNames = nameInFull.Split(' ');
PrintNames();
}
谢谢
您的TrimEnd
调用将只删除在字符串的结尾处找到的.
字符。
如果您想删除整个字符串中的所有.
字符,那么您应该使用Replace
代替:
nameInFull = nameInFull.Replace(".", "");
注意,如果源字符串格式不正确,这样替换可能会影响后续的拆分操作。例如,如果原始字符串是"Mr.Foo"。Bar",那么替换操作的输出将是"MrFooBar",没有空格来分割。为了避免这种情况,您可以考虑使用空格代替空字符串。
TrimEnd
从当前String对象中删除数组中指定的一组字符的所有尾部出现。
试题:
public void SplitNamesAndRemovePeriods()
{
nameInFull = nameInFull.Replace(".", String.Empty);
string[] allNames = nameInFull.Split(' ');
PrintNames();
}
Trim只删除字符串两端的字符。你需要像
一样使用ReplacenameInFull = nameInFull.Replace(".", "");
如果您想删除所有的'。
使用string. replace()方法public void SplitNamesAndRemovePeriods()
{
nameInFull = nameInFull.Replace(".", "");
string[] allNames = nameInFull.Split(' ');
PrintNames();
}
TrimEnd只删除存在于字符串末尾的指定字符。
您可能需要使用IndexOf('.')并将结果传递给Remove。在循环中执行此操作,直到IndexOf失败。
如果您想替换'。’,例如:' ',然后使用Replace代替Remove。