2017-05-03 6 views
-2

文字列を分割して特定の情報を別のファイルにコピーできるc#プログラムが必要です。テキストファイル(C#)から部分情報を取得

私はこのようなテキストファイルました:

BRIDGE.V2014R6I1.SOFT 
icem.V4R12I2.SOFT 
mygale.V4R1I1.SOFT,patch01_MAJ_APL.exe 
photoshop.V2014R10I1.SOFT 
rhino.V5R0I1.SOFT,patch01_Update_Files.exe 
TSFX.V2R3I2.SOFT,patch01_corrections.exe,patch02_clock.exe,patch03_correction_tri_date.exe,patch04_gestion_chemins_unc.exe 

、私は以下のように別のファイルにのみ、これらの情報の一部を必要とする:

BRIDGE,SOFT 
ICEM,SOFT 
MYGALE,SOFT 
PHOTOSHOP,SOFT 

は、任意のPLSのに役立ちます:)

+0

https://regexone.com/references/csharp – RH6

答えて

0

私の知る限り、あなたのテキストファイルは常にそのようなものですが、私は特定の答えしか提供できません。まず、あなたはThatsEliが指摘したように、ポイントで文字列を分割する必要があるすべての:あなたの秒(0から始まるインデックス)の項目が関連から分割さカンマと無関係な情報を持っているかのよう

var splitted = inputString.Split("."); 

今ではそうです。しかし、あなたは大文字で、あなたの結果をしたいように見える

var res = $"{splitted[0]},{splitted[2].Split(",")[0]}"; 

を:だから、あなたがしなければならないすべては、第二のみのコンマの前に最初の部分を持っていながら、一緒にゼロ次と第二を構築することです

var resUpper = res.ToUpper(); 

実際には、これは完全な入力ファイルを持っている限り機能します。そうでなければ、実際に多くのアイテムがあるかどうかを確認する必要があります。またはIndexOutOfRange例外が発生します。


実際には、ファイルの読み書き方法が分からないので、この例も示します。

読む

var path = @"Your\Path\To\The\Input\File"; 
if (!File.Exists(path)) 
{ 
    Console.WriteLine("File doesn't exist! If you're using a console, otherwise use another way to print error messages"); 
    return; 
} 
var inputString = File.ReadAllText(path); 

書き込み

var outputPath = @"your\Output\Path"; 
if(!File.Exists(outputPath)) 
{ 
    Console.WriteLine("You know what to put here"); 
    return; 
} 
File.WriteAllText(outputPath, inputString); 
+0

ありがとうございました。 'string [] splitString = line.Split(new char [] {'。'、 '、'}); ' ' String s = splitString [0]これは、 .ToUpper()+ "、" + splitString [2] .ToUpper(); ' 'ライター。WriteLine(s); ' – harris93

+0

@ harris93これがあなたの質問に答えた場合は、答えをあなたの答えとしてマークすることを忘れないでください。 – MetaColon

0

私は文字列を分割し、あなたが分割から得た配列の一部で新しいファイルを作成します。

たとえば、文字列を分割することができます。 Split(".");

新しい文字列を作成するstringname = splitstring[0] + "," + splitstring[2]

これは、最初と3番目の部分を一緒に戻します。 これは最初の行に適用されます。

+0

うんしかし、どのように私はライン上のすべてのものを "パッチ" を取り除くことができますGED 3、5、6 – harris93

+0

foreachを使用してマージを行い、文字列にパッチを追加する前にパッチが含まれているかどうかを確認することができます:) – ThatsEli

関連する問題