2011-04-26 3 views
0

j'ai besoin obtient un certain caractère des noms d'une image, le format de ce nom est:caractère avec chaîne Substring obtient()

141000000005.jpg, 141000150005.jpg, 141004600007.jpg ... etc. Je fais le split() à separe le ".jpg", maintenant je dois obtient le caractère de la position 3 à 10, par exemple:

141000000005 --> 00000000 

141000150005 --> 00015000 

141004600007 --> 00460000 

Les noms de images se décline en une List<string>, donc je en ce moment je fais ceci:

char[] timeCodeArray = timeCodeList[i].ToCharArray(); 
    string timeCodeArrayString = Convert.ToString(timeCodeArray[3].ToString() + 
     timeCodeArray[4].ToString() + timeCodeArray[5].ToString() + timeCodeArray[6].ToString() + 
     timeCodeArray[7].ToString() + timeCodeArray[8].ToString() + timeCodeArray[9].ToString() + 
     timeCodeArray[10].ToString()); 

Comment puis-je faire cela avec sous-chaîne?

+4

votre code ne formatez, utilisez également System.IO.Path pour dénuder l'extension (GetFileNameWithoutExtension) –

Répondre

1
var timeCodeArrayString = timeCodeList[i].Substring(3,8) 
2
String substr = "141000000005".Substring(3, 8); 
+1

Il devrait être 8, sûrement? – Random832

+0

@ Random832 vous avez raison. –

+0

ok mais il devrait être capable de le comprendre ... – lnu

1

mystring.Substring (3,7-) -> retourner une chaîne qui commence à caractère 3 et prendre 7 charcaters

0

On dirait que vous voulez myString.Substring(3,8)

Juste pour référence, que ce soit un mauvais solution pour ce problème particulier, si vous concatéez beaucoup de chaînes avec '+', vous obtenez une chaîne, vous n'avez donc pas besoin d'appeler Convert.ToString sur le résultat.