在到达字符串中的一组有用字符之前删除字符

时间:2015-11-18 23:14:51

标签: c# regex string split character

我的这个字符串来自带有ID / Passport阅读器的虚拟串口:

b \ 0OU0IDBGR9247884874<<<<<<<<<<<<<<< | 8601130M1709193BGR8601138634< 3 | IVANOV<

我已将“/ r”替换为“|”字符。

我想要解决的问题是在到达字符串中的第一个字符组合之前总是删除字符,这可能是: “ID”, “I<”, “P<” &安培; “V氮化” “VI”。

这个问题在这个阶段我尝试了以下方法来删除字符,但没有成功:

public static string RemoveSpecialCharacters(string str)
    {
        StringBuilder sb = new StringBuilder();
        foreach (char c in str)
        {
            if ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || c == '.' || c == '_' || c == '<' )
            {
                sb.Append(c);
            }
        }
        return sb.ToString();
    }

1 个答案:

答案 0 :(得分:0)

  

在到达字符串中第一个字符组合之前删除字符,这些字符可能是:“ID”,“I&lt;”,“P&lt;” &安培; “V氮化” “VI”。

我认为会做你想做的事。

Date

首先,它将字符串拆分为您想要的字符组合(同时在结果数组中保留它们 - 请参阅正则表达式字符组),然后丢弃数组的第一个成员(这将是字符组合之前的所有字符。 )然后它将阵列连接在一起。