2016-04-14 13 views
0

Arkadan bir alt dizeyi "csm15 + abc-indiaurban @ v2" dizesine yerleştirmeye çalışıyorum. Alt dizgi, ilk özel karaktere kadar "@", yani "-" başlamalıdır. Özel karakter, bazı dizelerde "+" da olabilir. en sonunda "@" ile "-" arasındaki alt diziyi uyguladıktan sonra "csm15 + abc" yi istiyorum.Arkadan alt tabaka nasıl yapılır

Şimdiden teşekkürler.

+4

[ 'String.LastIndexOf() '] (https://msdn.microsoft.com/en-us/library/system.string.lastindexof (v = vs.110 görebilirsiniz) .aspx), özellikle bir başlangıç ​​dizini belirtebileceğiniz – Rhumborl

+0

ve 'String.LastIndexOfAny (yeni char [] {'-', '+'}, atIndex)' özel karakterini almak için –

+0

anlamıyorum Sorunuz, son özel karakter ('-' veya' + ') ve' @ 'arasında bir alt dizgi istediğinizi söylüyorsunuz, ancak sonuç" csm15 + abc "olmalıdır. – Ashigore

cevap

1
var s = "[email protected]"; 
var idx = s.LastIndexOf('@'); 
var idx2 = s.Substring(0, idx).LastIndexOfAny(new char[] {'+', '-'}); 
var tail = s.Substring(0, idx2); 
0
var s = "[email protected]"; 
    var idx= s.LastIndexOfAny(new char[] {'@', '+', '-'}); 
    var tail = s.Substring(idx); 
+0

Peki ya? –

+0

Bu, yukarıdaki dizgeyi verilen v2 değerini döndürecektir. – Ashigore

+0

Üzgünüm. Cevap vermek için çok hızlı. –

İlgili konular