我有一个简单的字符串扩展方法,可以从字符串中删除所有非数字字符。因此,如果我有一个像“(555) 215-4444”这样的电话号码字符串,它将被转换为“5552154444”。代码如下:
public static string ToDigitsOnly(this string input)
{
Regex digitsOnly = new Regex(@"[^\d]");
return digitsOnly.Replace(input, String.Empty);
}
我想知道在这里处理空值的最优雅方法是什么?在这种情况下是否有典型的遵循模式,例如如果传入空值则返回空值?由于我在此处扩展了字符串类,因此可能希望允许空值并且不抛出参数异常(因为我实际上没有传入参数...)?但是有些人可能会认为我应该像“正常”的方法一样抛出异常。在此您使用的最佳实践是什么?
谢谢!
String.Join("", input.Where(char.IsDigit))
- I4Vreturn new string(input.Where(char.IsDigit).ToArray());
。 - Timothy Shields