【问题标题】:How to strip invalid characters from a string如何从字符串中去除无效字符
【发布时间】:2014-03-12 00:57:47
【问题描述】:

我正在尝试修改 Windows CE 5.0 设备上用于扫描日期条形码的程序。 从日期格式中去除无效字符串的最佳方法是什么

示例:

2014/03/12 --> 20140312
2014.03.12 --> 20140312
2014-03-12 --> 20140312

我想要的是自动删除那些字符串(/,-,.)

谢谢!

【问题讨论】:

  • 旁注:确保没有像 20-12-2011 这样的情况...

标签: c# .net regex visual-studio windows-ce


【解决方案1】:

用途:

Regex.Replace("2014/03/12", "[^0-9]", string.Empty)

【讨论】:

    【解决方案2】:

    另一种方法:

    string s = "2014/03/12";
    s = s.Replace('/').Replace('.').Replace('-');
    

    请参阅here 了解更多信息。

    注意:这种方法适用于有限数量的字符,对于更复杂的字符串操作,您需要使用Regex

    【讨论】:

    • 此解决方案将要求您对除 0-9 之外的每个字符进行字符串 Replace 调用,以匹配 Regex 解决方案提供的相同功能。
    • @MikeParkhill OP 要求从字符串中删除 3 个字符。 string.Replace 也可以比 Regex.Replace link 更快
    • 确实如此。我想我没有仔细阅读帖子。在这种特定情况下,string.Replaces 可能会更快(尤其是因为只有它们可能会找到导致额外内存使用和 gc 的匹配项)。
    • @MikeParkhill 有机会删除 -1 然后:P
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-02
    • 1970-01-01
    • 1970-01-01
    • 2018-10-21
    相关资源
    最近更新 更多