如何用C#按回车符分割字符串?
我有一个 ASP.NET 页面,其中有一个名为 txbUserName 的多行文本框。然后我将 3 个名称粘贴到文本框中,它们垂直对齐:
- Jason
- Ammy
- Karen
我希望能够在检测到回车符或新行时以某种方式获取这些名称并将它们拆分为单独的字符串。我认为数组可能是正确的选择。 有什么想法吗?
谢谢。
I have an ASP.NET page with a multiline textbox called txbUserName. Then I paste into the textbox 3 names and they are vertically aligned:
- Jason
- Ammy
- Karen
I want to be able to somehow take the names and split them into separate strings whenever i detect the carriage return or the new line. i am thinking that an array might be the way to go.
Any ideas?
thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
这涵盖了 \n 和 \r\n 换行符类型,并删除了用户可能输入的任何空行。
我使用以下代码进行了测试:
它工作正常,分为三个字符串数组,其中包含条目“PersonA”、“PersonB”和“PersonC”。
This covers both \n and \r\n newline types and removes any empty lines your users may enter.
I tested using the following code:
And it works correctly, splitting into a three string array with entries "PersonA", "PersonB" and "PersonC".
将任何
\r\n
替换为\n
,然后使用\n
进行拆分:Replace any
\r\n
with\n
, then split using\n
:看一下 String.Split 函数(不确定确切的语法,我面前没有 IDE)。
Take a look at the String.Split function (not sure of exact syntax, no IDE in front of me).
String.Split
?String.Split
?试试这个:
有效,如果:
或
或
Try this:
Works if :
Or
Or
这取决于你想做什么。另一种选择是使用 StringReader 类并使用枚举器,这对于小型列表可能有点过分,但对于较大的字符串可能会更具内存效率:
这同时支持
\n
和\r\n
行结尾。当它返回一个IEnumerable
时,您可以使用foreach
处理它,或者使用任何标准 linq 扩展(ToList()
、ToArray()、
Where
等)。例如,使用
foreach
:It depends what you want to do. Another option, which is probably overkill for small lists, but may be more memory efficient for larger strings, is to use the
StringReader
class and use an enumerator:This supports both
\n
and\r\n
line-endings. As it returns anIEnumerable
you can process it with aforeach
, or use any of the standard linq extensions (ToList()
,ToArray()
,Where
, etc).For example, with a
foreach
: