c# – 是否可以为string.Trim()添加字符(而不是替换默认值)?
发布时间:2020-12-15 04:26:50 所属栏目:百科 来源:网络整理
导读:我想修改默认的空格字符和我的附加字符.我按照以下方式做到了这一点: string MyTrim(string source){ char[] badChars = { '!','?','#' }; var result = source.Trim().Trim(badChars); return result == source ? result : MyTrim(result);} 至于我,它看起
我想修改默认的空格字符和我的附加字符.我按照以下方式做到了这一点:
string MyTrim(string source) { char[] badChars = { '!','?','#' }; var result = source.Trim().Trim(badChars); return result == source ? result : MyTrim(result); } 至于我,它看起来很愚蠢,因为它有比你需要的迭代更多的迭代.是否可以为string.Trim()添加字符(而不是替换默认值)?或者我在哪里可以找到默认情况下在string.Trim()中使用的’默认空白字符’数组?这听起来很容易,但我找不到. 解决方法
无法更改Trim的默认行为.
但是,如果必须,您可以创建一个包含要修剪的所有字符的数组,这样您就可以将调用减少到只有一个调用,但是它会是这样的: var badChars = (from codepoint in Enumerable.Range(0,65536) let ch = (char)codepoint where char.IsWhiteSpace(ch) || ch == '!' || ch == '?' || ch == '#' select ch).ToArray(); 这将给你一个Trim的调用: var result = source.Trim(badChars); 理想情况下,您可以将badChars存储在某处,这样您就不必一直构建它. 现在,这会比两个电话更快吗?我不知道,但如有必要我会测量它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |