Переписать все из файла А в файл В, перенося в конец каждой строки все входящие в нее знаки препинания - C#
Формулировка задачи:
Переписать все из файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания.
С третьей кнопкой явно что-то не так. В файл В записываются только знаки препинания, а нужно как в условии. Как сделать, чтобы работало?
using System;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace _11
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string filePath, filePath2;
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog OFD = new OpenFileDialog();
if (OFD.ShowDialog() == DialogResult.OK)
{
filePath = OFD.FileName;
textBox1.Text = File.ReadAllText(filePath);
}
}
private void button2_Click(object sender, EventArgs e)
{
OpenFileDialog OFD = new OpenFileDialog();
if (OFD.ShowDialog() == DialogResult.OK)
{
filePath2 = OFD.FileName;
textBox2.Text = File.ReadAllText(filePath2);
}
}
private void button3_Click(object sender, EventArgs e)
{
string signs = ".?!:;,-()'<>";
string strochka = string.Empty;
string text = File.ReadAllText(filePath, Encoding.Default);
using (FileStream fs = new FileStream(filePath2, FileMode.Open))
{
foreach (char c in text)
{
if (signs.Contains(c.ToString()))
fs.Write(BitConverter.GetBytes(c), 0, 2);
if (c == (char)13 || c == (char)10)
{
byte[] array = Encoding.Default.GetBytes(strochka);
fs.Write(array, 0, array.Length);
}
}
}
textBox2.Text = File.ReadAllText(filePath2);
}
}Решение задачи: «Переписать все из файла А в файл В, перенося в конец каждой строки все входящие в нее знаки препинания»
textual
Листинг программы
using System;
using System.Linq;
class Program
{
private static string MovePunctuationToEnd(string s)
{
ILookup<bool, char> lookup = s.ToLookup(Char.IsPunctuation);
return new String(lookup[false].Concat(lookup[true]).ToArray());
}
public static void Main()
{
Console.WriteLine(MovePunctuationToEnd("Где, чёрт возьми, мои носки?"));
}
}