String 如何检测字符串中的回车

String 如何检测字符串中的回车,string,c#-4.0,String,C# 4.0,问题就在这里。我正在使用WPF和C#以及4.0.net平台进行一个项目。我有一个字符串,它来自一个带有Accepts return=“true”的文本框。字符串如下所示 string P = @"Copyright 1995-2010 BYTES. All rights Reserved. Formerly "TheScripts.com" from 2005-2008"; 现在我想检测何时遇到回车符。这样我可以将字符串缩短为“版权所有1995-

问题就在这里。我正在使用WPF和C#以及4.0.net平台进行一个项目。我有一个字符串,它来自一个带有Accepts return=“true”的文本框。字符串如下所示

string P = @"Copyright 1995-2010 BYTES.
            All rights Reserved.
            Formerly "TheScripts.com" from 2005-2008";
现在我想检测何时遇到回车符。这样我可以将字符串缩短为“版权所有1995-2010字节”,并在遇到回车后删除所有字符

我试过这么做

string ip = datarow[0].ToString();
string trimed= ip.TrimEnd(new char[] {'\r','\n'});
profileFNcb.Items.Add(trimed);    

不工作,请帮助伙计们

哦:我误解了你的问题-这应该有帮助:

string onlyCopyright = P.Substring(0, P.IndexOf("\n"));
或者更好:

string onlyCopyright = P.Substring(0, P.IndexOf(Environment.NewLine));
Trim
仅删除字符串开头和结尾的空白。您要替换:

string noNewLine = ip.Replace("\n", "").Replace("\r", "");

TrimEnd删除尾随字符,但不会在这些字符的第一个实例处“结束”字符串。您需要做的是搜索“\r”或“\n”的第一个实例,并在其前面保留字符的子字符串。

使用with可拆分换行符上的字符串:

myString.Split(new [] {Environment.NewLine}, 
               StringSplitOptions.RemoveEmptyEntries)
这将生成包含每行的字符串数组

要获取第一行,假设返回的
字符串[]
位于
变量中:

string firstLine = lines[0]; // firstLine = "Copyright 1995-2010 BYTES."
解决方案不起作用的原因-TrimEnd只删除字符串末尾的字符,而不是中间的字符。

请尝试以下操作:

string P = @"Copyright 1995-2010 BYTES.
        All rights Reserved.
        Formerly ""TheScripts.com"" from 2005-2008";

string firstLine = P.Split(
                       new string[] { System.Environment.NewLine },
                       StringSplitOptions.RemoveEmptyEntries)
                    .FirstOrDefault()

谢谢。。。真是太棒了。再次感谢你,托尔斯滕