如果ASCII字符串包含字母或数字,则返回文本

时间:2017-08-26 09:26:18

标签: c# string search ascii

仍在处理我的项目,并希望获得更多帮助。这是我的问题:我在CompanyID中有一串字符,可能带有“”空格(源自ASCII十六进制文本)。我尝试过的一些代码不会检测空格(可能是因为有许多十六进制字符返回具有不同值的空格),并且代码(图B)返回所有空格的值。我想做的是在字符串'CompanyID'中搜索任何字母/数字。如果是,我需要textBox10.Text = CompanyID;如果没有,我需要输出到文本框,如图A所示。

图。答:

else textBox10.Text = "No Value!";
if (val.Contains("No Value!")) textBox10.ForeColor = Color.Orange;

图。 B:

// COMPANY ID
{
BinaryReader br3 = new BinaryReader(File.OpenRead(OpenFileDialog1.FileName));
                br3.BaseStream.Position = 0x110;
                Char[] charArray = br3.ReadChars(16);
                string CompanyID = new string(charArray);
                textBox10.ForeColor = Color.Black;
                textBox10.Text = CompanyID;
                br3.Close();
                {
                    // CODE REPLACEMENT
                    string val = CompanyID;
                    textBox10.ForeColor = Color.Black;
                    foreach (char c in CompanyID)
                    {
                        if (Char.IsDigit(c)) textBox10.Text = CompanyID;
                        else textBox10.Text = "No Value!";
                        if (val.Contains("No Value!")) textBox10.ForeColor = Color.Orange;
                    }
                }

任何帮助将不胜感激。谢谢你的时间!

1 个答案:

答案 0 :(得分:0)

我使用以下代码来解决我的问题。有人建议使用IsWhiteSapce来检测字符串中是否有任何内容(即使帖子被删除了),它一直在为我工作。感谢那些回复的偷看。

// DESCRIPTION
            {
                BinaryReader br7 = new BinaryReader(File.OpenRead(OpenFileDialog1.FileName));
                br7.BaseStream.Position = 0x1c8;
                Char[] charArray = br7.ReadChars(40);
                string Desc = new string(charArray);
                textBox11.Text = Desc;
                if (textBox11.Text.All(c => char.IsWhiteSpace(c)))
                {
                    textBox11.ForeColor = Color.Orange;
                    textBox11.Text = "No Value!";
                }
                else textBox11.ForeColor = Color.Black;

                br7.Close();