Par mise en forme du texte, je voulais dire quelque chose de plus compliqué.
Au début, j'ai commencé à ajouter manuellement les 5000 lignes du fichier texte pour lequel je pose cette question, dans mon projet.
Le fichier texte comporte 5000 lignes de longueur différente, par exemple :
1 1 ITEM_ETC_GOLD_01 () xxx xxx xxx_TT_DESC 0 0 3 3 5 0 180000 3 0 1 0 0 255 1 1 0 0 0 0 0 0 0 0 0 0 -1 0 -1 0 -1 0 -1 0 -1 0 0 0 0 0 0 0 100 0 0 0 xxx item\etc\drop_ch_money_small.bsr xxx xxx xxx 0 2 0 0 1 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 0 0 0 0 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1 (param1) -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx 0 0
1 4 ITEM_ETC_HP_POTION_01 HP xxx SN_ITEM_ETC_HP_POTION_01 SN_ITEM_ETC_HP_POTION_01_TT_DESC 0 0 3 3 1 1 180000 3 0 1 1 1 255 3 1 0 0 1 0 60 0 0 0 1 21 -1 0 -1 0 -1 0 -1 0 -1 0 0 0 0 0 0 0 100 0 0 0 xxx item\etc\drop_ch_bag.bsr item\etc\hp_potion_01.ddj xxx xxx 50 2 0 0 1 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 0 0 0 0 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 120 HP 0 HP(%) 0 MP 0 MP(%) -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx 0 0
1 5 ITEM_ETC_HP_POTION_02 HP () xxx SN_ITEM_ETC_HP_POTION_02 SN_ITEM_ETC_HP_POTION_02_TT_DESC 0 0 3 3 1 1 180000 3 0 1 1 1 255 3 1 0 0 1 0 110 0 0 0 2 39 -1 0 -1 0 -1 0 -1 0 -1 0 0 0 0 0 0 0 100 0 0 0 xxx item\etc\drop_ch_bag.bsr item\etc\hp_potion_02.ddj xxx xxx 50 2 0 0 2 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 0 0 0 0 0 0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 220 HP 0 HP(%) 0 MP 0 MP(%) -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx -1 xxx 0 0
Le texte entre le premier caractère (1) et le deuxième caractère (1/4/5) n'est pas un espace, c'est une tabulation. Il n'y a pas d'espace dans ce fichier texte.
Ce que je veux :
Je veux obtenir le second nombre entier (dans les trois lignes que j'ai postées ci-dessus, les seconds nombres entiers sont 1, 4 et 5) et la chaîne au milieu de chaque ligne indiquant le chemin (elle commence par "item\" et se termine par l'extension du fichier ".ddj").
Mon problème :
Je ne sais pas comment rechercher du texte à l'intérieur d'un fichier texte. Je ne peux pas non plus rechercher le premier nombre entier, car s'il s'agit d'un petit nombre entier comme dans les trois lignes que j'ai postées ci-dessus, je ne pourrai pas trouver l'emplacement correct, car par exemple "1" pourrait exister à un autre endroit.
Ma question :
Ce serait le mieux si j'écrivais un programme qui efface tout, sauf ce dont j'ai besoin.
L'autre moyen auquel je pense est de chercher directement dans ce fichier, mais comme je l'ai mentionné plus haut, je risque d'obtenir le mauvais emplacement du deuxième entier s'il est trop bas.
S'il vous plaît, proposez quelque chose, je ne peux pas formater tout ça à la main.