Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取新行符号之前的字符串部分_C#_String_Split - Fatal编程技术网

C# 获取新行符号之前的字符串部分

C# 获取新行符号之前的字符串部分,c#,string,split,C#,String,Split,我确实希望获取第一个\r\n\符号之前的所有文本 比如说, lalalalalalaldlasdaa daslda\r\n\Prefersaasda reainrea 我需要:lalalalalaldlasdaa daslda。上面的字符串可以为空,但也可能不包含任何'\r\n\'符号。“如何实现此目的?您可以使用索引获取位置。然后使用子字符串获取第一部分: string s = "lalal lalal laldlasdaa daslda\r\n Prefersaasda reanreainr

我确实希望获取第一个
\r\n\
符号之前的所有文本

比如说,

lalalalalalaldlasdaa daslda\r\n\Prefersaasda reainrea


我需要:
lalalalalaldlasdaa daslda
。上面的字符串可以为空,但也可能不包含任何
'\r\n\'
符号。“如何实现此目的?

您可以使用
索引
获取位置。然后使用
子字符串
获取第一部分:

string s = "lalal lalal laldlasdaa daslda\r\n Prefersaasda reanreainrea";

int positionOfNewLine = s.IndexOf("\r\n");

if (positionOfNewLine >= 0)
{
    string partBefore = s.Substring(0, positionOfNewLine);
}

您可以像这样使用
Split

string mystring = @"lalal lalal laldlasdaa daslda\r\n\Prefersaasda reanreainrea";
string mylines = mystring.Split(new string[] { @"\r\n" }, StringSplitOptions.None)[0];

而如果字符串是

string mystring = "lalal lalal laldlasdaa daslda\r\n Prefersaasda reanreainrea";
string mylines = mystring.Split(new string[] { Environment.NewLine }, StringSplitOptions.None)[0];

环境。换行符
也可以使用它。with
\r\n\p
使该字符串成为无效字符串,因此
\r\n p
使其成为新行

希望这是您正在寻找的:

string inputStr = "lalal lalal laldlasdaa daslda\r\nPrefersaasda reanreainrea";
int newLineIndex =  inputStr.IndexOf("\r\n");
if(newLineIndex != -1)
{ 
  string outPutStr = inputStr.Substring(0, newLineIndex );
  // Continue
}
else
{
    // Display message no new line character 
}

签出的示例

可能重复的请注意,您的输入不是有效字符串,它们是\r\n`之后的一个额外的`使此输入无效这不是一个好的重复,因为与给出的答案相比,它有太多的开销@VinKel@Toshi:
s
不是有效字符串,因为
`after
\r\n`,现在它将编译如果您只需要第一部分,那么在长字符串上的填充非常昂贵。您正在处理一个断开的字符串,因此您的
@“\r\n”
是非常错误的。这将需要``字面意思!这对OP面临的问题不起作用。