Переписать все из файла А в файл В, перенося в конец каждой строки все входящие в нее знаки препинания - 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("Где, чёрт возьми, мои носки?"));
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.933 из 5
Похожие ответы