使用c#在字符串中有效地匹配用户名和@符号
本文关键字:用户 符号 字符串 有效地 使用 | 更新日期: 2023-09-27 18:12:54
我希望能够有效地从字符串中挑选出用户名,然后将它们超链接到用户配置文件。就像Facebook一样。
但是当人们对@Username
这样做时问题就来了"Some words @Username…有些字"
"有些话@Username!有些字"
任何想法我可能仍然挑选只是用户名,然后超链接它没有得到他们的用户名结束后的额外字符吗?
我喜欢尝试使用框架来解决这些问题:
var list = new List<string>
{
"Some words @Username1... some words",
"Some words @Username2! some words"
};
var items = list.Select(str => string.Concat(str.Substring(str.IndexOf('@') + 1).TakeWhile(char.IsLetterOrDigit)));
//items = ["Username1", "Username2"]
你当然需要对坏字符串做一些异常处理。如果不允许使用数字,则可以将char.IsLetterOrDigit
更改为IsLetter
。