mjs*_*jsr 5 .net regex string lines
我对断线的正确方法感到困惑.
我在某处看到窗口使用\ r \n来断行,但这两个代码产生的相同
regex.split(sometext, "\r\n");
regex.split(sometext, "\n");
Run Code Online (Sandbox Code Playgroud)
什么是正确的方法?,这些表达式总是产生相同的?
Yur*_*ich 12
使用
var myArray = sometext.Split(Environment.NewLine);
Run Code Online (Sandbox Code Playgroud)
Environment.NewLine将为您的操作系统选择正确的一个.如果数据是在其他系统上创建的,则会失败.可能适用于所有系统但有一些意想不到的后果的东西是
var myArray = sometext.Split(new[] {'\r', '\n'},
StringSplitOptions.RemoveEmptyEntries);
Run Code Online (Sandbox Code Playgroud)
一些可能令人担忧的事情是它将删除所有空行并拆分回车.
如果您想支持每个平台的换行符(例如您需要解析在 ASP.NET 网站中的 Linux/Windows/Mac 下创建的输入文件)并且您不携带空字符串,我建议使用这个方法代替:
myString.Split(new char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries)
Run Code Online (Sandbox Code Playgroud)
这将返回
["one","two","three"]
Run Code Online (Sandbox Code Playgroud)
对于输入字符串
"one\r\ntwo\n\n\nthree"
Run Code Online (Sandbox Code Playgroud)
更新: 如果您需要携带空行,您可以使用
myString.Replace("\r\n", "\n").Split("\n")
Run Code Online (Sandbox Code Playgroud)
这应该适用于“\r\n”和“\n”EOL 字符文件。
| 归档时间: |
|
| 查看次数: |
871 次 |
| 最近记录: |