2017-05-18 5 views
-1

J'ai un fichier avec du contenu textuel. par exemple. Nom du fichier = RandomText.txtLire le texte à partir du fichier donné des index spécifiques

string content = "Lorem ipsum dolor sit amet, consectetur adipiscing elit"; 

Je veux être en mesure d'extraire le contenu donné des indices spécifiques par exemple obtenir un texte de l'index 5 à l'index 10

qui devrait revenir "ipsum"

Voici ma tentative, ce qui isnt faire exctly ce que je veux ..

int minRange = 1 
int maxRange = 10; 
int randomIndex = rnd.Next(minRange, maxRange); 
string text = File.ReadLines(RandomText.txt).Skip(randomIndex).First(); 

(je pense sauter() dans ici utilisé pour les lignes plutôt que les index, ce qui n'est pas ce que je veux vraiment ..)

des idées?

+0

s'il vous plaît poster plus d'informations sur le contenu du fichier. Avez-vous des sauts de ligne dedans? –

+0

non, juste du texte continu, pas de sauts de ligne –

+0

Si votre index de départ est 5, vous commencez avec l'espace, donc le résultat sera: '" ipsu "' –

Répondre

0

File.ReadLines(RandomText.txt).Skip( ignorerait un nombre de lignes non pas un nombre de caractères. Fondamentalement, vous pouvez utiliser la méthode System.IO.File.ReadAllText. Cela renverra le contenu entier du fichier sous la forme d'une chaîne. Maintenant, vous pouvez prendre une sous-chaîne à partir d'un certain index de début avec une certaine longueur

int minRange = 1 
int maxRange = 10; 
Random rnd = new Random(DateTime.Now.Millisecond); 
int randomIndexStart = rnd.Next(minRange, maxRange); 
int randomIndexLength = rnd.Next(minRange, maxRange); 


string part = File.ReadAllText(@"C:\temp\read.txt").Substring(randomIndexStart, randomIndexLength);