C# 如何获取字符串的最后和第一个特殊字符?
我在列表中得到了一些字符串:C# 如何获取字符串的最后和第一个特殊字符?,c#,arrays,regex,split,C#,Arrays,Regex,Split,我在列表中得到了一些字符串: List<string> mylist = new List<string>(); mylist.Add("_+hello[]_"); mylist.Add("_+how||"); mylist.Add("_+are,,"); mylist.Add("||you=_"); mylist.Add("_+doing\"_"); 我的数组最后应该是这样的: _+ AND [] _ _+ AND || _+ AND ,, || AND =_ _+
List<string> mylist = new List<string>();
mylist.Add("_+hello[]_");
mylist.Add("_+how||");
mylist.Add("_+are,,");
mylist.Add("||you=_");
mylist.Add("_+doing\"_");
我的数组最后应该是这样的:
_+ AND [] _
_+ AND ||
_+ AND ,,
|| AND =_
_+ AND "_
有人知道怎么做吗
提前感谢List mylist=new List();
List<string> mylist = new List<string>();
mylist.Add("_+hello[]_");
mylist.Add("_+how||");
mylist.Add("_+are,,");
mylist.Add("||you=_");
mylist.Add("_+doing\"_");
foreach (var item in mylist)
{
var LastItem=item.ToArray().Last();
var FirstItem = item.ToArray().First();
}
mylist.Add(“+你好[]”);
mylist.Add(“_+how | |”);
mylist.Add(“u+are,,”);
mylist.Add(“| | you=|”);
mylist.Add(“+doing\”);
foreach(mylist中的var项)
{
var LastItem=item.ToArray().Last();
var FirstItem=item.ToArray().First();
}
您似乎希望使用字母数字字符进行拆分。由于\w
与字母数字字符或下划线字符相匹配,因此您可以将\u
形成它,并与正则表达式一起使用。拆分
:
Regex.Split(str, @"[\w-[_]]+")
看
或
这是一个
[^\W\u]
匹配任何非单词字符的字符(即,它匹配任何\W
)和非\u
(因此,任何\W
,除非\u
,否则将得到匹配).到目前为止你想出了什么?这没有任何意义,你想要第一个字符,但是想要返回的是+
Regex.Split(str,@“[^\W\u]+”@WiktorStribiżew请将此作为答案发布,这是两个不同的Regex。谢谢,这正是我想要的,只是不要尝试“+你好+“
@C.Evenhuis:OP输入不包含空格。这一场景的需求是必要的。为了避免出现空白块,模式可以是[\w\s-[\u]]+
@WiktorStribiżew我同意这是未定义的,但我打赌他不会只想要这些精确的输入值,否则他可以硬编码结果。OP已经接受了你的答案,这只是他想知道的事情。
Regex.Split(str, @"[\w-[_]]+")
Regex.Split(str, @"[^\W_]+")