Я удалил свой предыдущий пост в надежде, что этот будет лучше и понятнее, и я смогу получить помощь. Я ценю это.
Пока что с помощью моего кода я загружаю файл CSV, чтобы отформатировать его следующим образом: я пропустил заголовки, а также вместо разделителя-запятой добавил разделитель конвейера | и удалите следующее значение: «.\MEMBERRECORDS_SIGNATURECARD_00000000_00000000_0001» во всех строках/строках при создании нового файла CSV.
Проблема, которую я не могу решить, заключается в загрузке нового файла CSV. , значение, которое мне нужно удалить: ".\MEMBERRECORDS_SIGNATURECARD_00000000_00000000_0001" . Последнее число: _0001" увеличивается на единицу в каждом CSV-файле, который я загружаю в форматируемый файл.
Мне нужна помощь, как удалить все строковое значение, включая приращение последнего значения:
".\MEMBERRECORDS_SIGNATURECARD_00000000_00000000_0001" . Последнее число: _0001"
".\MEMBERRECORDS_SIGNATURECARD_00000000_00000000_0001" . Последний номер: _0002"
".\MEMBERRECORDS_SIGNATURECARD_00000000_00000000_0001" . Последний номер: _0003"
".\MEMBERRECORDS_SIGNATURECARD_00000000_00000000_0001" . Последнее число: _0004"
Это мой код:
Спасибо
private void button2_Click(object sender, EventArgs e)
{
try
{
if (String.IsNullOrEmpty(FromFile))
{
lblStatus.Text = "Missing CSV Information";
Application.DoEvents();
MessageBox.Show("Please select CSV file first.");
return;
}
if (String.IsNullOrEmpty(ToFile))
{
lblStatus.Text = "Missing Save Information";
Application.DoEvents();
MessageBox.Show("Please enter save information.");
return;
}
else if (File.Exists(ToFile))
{
// delete old file
File.Delete(ToFile);
}
btnProcess.Enabled = false;
lblStatus.Text = "Processing...";
Application.DoEvents();
var lines = File.ReadAllLines(FromFile).Skip(1);
string docId = "";
string[] oldLine = null;
foreach (var line in lines)
{
var newLine = line.Replace("\"", "").Replace(".\\", "").Replace("\\", "").Replace("MEMBERRECORDS_SIGNATURECARD_00000000_00000000_0001", "").Split(',');
if (docId != newLine[0])
{
docId = newLine[0];
oldLine = newLine;
}
else
{
for (int i = COPY_FROM - 1; i < newLine.Length; i++)
newLine = oldLine;
}
using (StreamWriter sr = new StreamWriter(ToFile, true))
{
sr.WriteLine(string.Join("|", newLine));
}
}
btnProcess.Enabled = true;
lblStatus.Text = "Completed";
Application.DoEvents();
}
catch (Exception ex)
{
MessageBox.Show("Error! Ex: " + ex.Message);
}
}`
Подробнее здесь: https://stackoverflow.com/questions/785 ... th-c-sharp