Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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#_Arrays_Regex_Split - Fatal编程技术网

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_]+")