【问题标题】:How can I find if there is a special character in String ? ex : " ] "如何查找 String 中是否有特殊字符?前任 : ” ] ”
【发布时间】:2020-07-22 23:32:27
【问题描述】:

我确实读取了一个长文件并希望在 readline.toString() 包含特殊字符“]”时停止 但是我下面的代码不起作用,因为它无法识别并跳过目标行。 请帮忙

do
   {
        //<My Func>;
        k++;
   } while (!line[k].ToString().Contains('"' + "]'" + '"'));

【问题讨论】:

  • 您尝试匹配的字符串似乎是"]'",对吗?那是(字面意思)双引号,右方括号,单引号/撇号,双引号。
  • 仔细查看“]'”,除非这也是 OP 的错误。
  • 啊,不过我觉得不太清楚,因为代码和title不一样。
  • 目前还不清楚您到底在搜索什么。从您的标题中,它是一个],前后是一个空格,在您的文本中您只提到],而您的代码实际上是在寻找"]'",其中包括双引号
  • @Jackie 如果答案对其他人有用,那么您可以回答自己的问题。如果只是错别字,最好删除问题

标签: c# special-characters


【解决方案1】:

我不确定你想做什么,但这就是它的样子吗?

    public static void Main() 
    {
        var longText = "aadfhhhtgdfg....[]h....";

        // check type 1
        var pos = longText.IndexOf(']');
        if (pos < 0) { }

        // check type 2
        if (!longText.Contains(']')) { }

        // chech type 3
        int i = 0;
        char c;
        do 
        {
            c = longText[i++];

        } while (c != ']');


        // check type 4
        for (var j = 0; j < longText.Length; j++)
        {
            c = longText[j];

            if (c == ']') continue; // skip

            // do something
        }

        Console.WriteLine($"pos = {pos}, i = {i}");
    }

【讨论】:

    【解决方案2】:

    应该是这样的

    do
    {
        k++;
    } while (!line[k].ToString().Contains('"' + "]" + '"'));
    

    【讨论】:

      猜你喜欢
      • 2015-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2013-06-03
      • 2020-03-15
      • 1970-01-01
      相关资源
      最近更新 更多