【问题标题】:How do i find a "\n" in a string? [duplicate]如何在字符串中找到“\n”? [复制]
【发布时间】:2017-04-16 21:32:13
【问题描述】:

我尝试在字符串中查找“\n”。我的代码在这里不起作用。什么是正确的方法?谢谢

    string text = "hello\nworld";

 for(int i=1; i<text.Length ;i++)
 {
    if
    (
     text[i-1]== '\\'
     &&
     text[i]== 'n'
    )
    {
        Debug.Log("break at: "+i);
    }
 }

【问题讨论】:

  • \n 是换行符,我相信通常由 CRLF 表示,因此您需要查找 char(13)、char(10),或者它可能只是 char(10),思考那 \r\n 是 crlf
  • @Charleh \n 只代表LF,\r 是CR
  • 是的,刚刚意识到 :) 更新了我的评论

标签: c# string unity3d


【解决方案1】:

\n 不是两个字符。它是值“换行”的两个字符表示(参见任何 ASCII 图表上 10 的值)。如果要查找字符,则需要在单个字符中使用这两个符号,例如 '\n'

【讨论】:

【解决方案2】:

\n是控制字符,作为条件试试

文本[i] == '\n'

并且初始化 i = 0,而不是 i = 1

【讨论】:

    【解决方案3】:

    正确地说,'\n' 是一个字符,代表换行符。这意味着,斜杠是转义键,例如用于表示特殊的空白字符(因为 \n 是一)。如果要搜索它,则必须将其作为单个字符进行搜索:

    var text = "hello\nworld";
    for (var i = 0; i < text.Length; i++)
        if(text[i] == '\n')
            Debug.Log($"break at: {i}");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-12
      • 2018-06-05
      • 1970-01-01
      • 2015-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多