如何获取字符串的最后和第一个特殊字符?

问题描述:

我在列表中的一些字符串:如何获取字符串的最后和第一个特殊字符?

List<string> mylist = new List<string>(); 
mylist.Add("_+hello[]_"); 
mylist.Add("_+how||"); 
mylist.Add("_+are,,"); 
mylist.Add("||you=_"); 
mylist.Add("_+doing\"_"); 

我想要得到的姓氏和特殊字符(+,_ [] =“)所有在阵列

string[,] array = new string[5,2] 

我阵列应该是这个样子就完了?

_+ AND [] _ 
_+ AND || 
_+ AND ,, 
|| AND =_ 
_+ AND "_ 

有谁知道如何做到这一点

在此先感谢

+2

到目前为止你想出了什么? – BugFinder

+1

这是没有任何意义的,你想要的第一个字符,但希望'_ +'返回 –

+2

尝试'Regex.Split(str,@“[^ \ W _] +”)' –

您似乎想要与字母数字字符分裂。由于\w匹配的字母数字或下划线字符,你可以subtract_形式,并用它来与Regex.Split

Regex.Split(str, @"[\w-[_]]+") 

this regex demo

或者

Regex.Split(str, @"[^\W_]+") 

这里是一个regex demo

[^\W_]匹配任何字符不是非字字符(即它匹配任何\w)而不是_(因此,除_之外的任何\w,否则将匹配)。

+0

请参阅[在线C#演示](http://ideone.com/Zdq25a)。 –

+0

谢谢,这正是我想要的 –

+0

只是不要试''+你好那里+“' –

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(); 
    }