Переписать все из файла А в файл В, перенося в конец каждой строки все входящие в нее знаки препинания - C#

Узнай цену своей работы

Формулировка задачи:

Переписать все из файла А в файл В, перенося при этом в конец каждой строки все входящие в нее знаки препинания. С третьей кнопкой явно что-то не так. В файл В записываются только знаки препинания, а нужно как в условии. Как сделать, чтобы работало?
Листинг программы
  1. using System;
  2. using System.Text;
  3. using System.Windows.Forms;
  4. using System.IO;
  5. namespace _11
  6. {
  7. public partial class Form1 : Form
  8. {
  9. public Form1()
  10. {
  11. InitializeComponent();
  12. }
  13. string filePath, filePath2;
  14. private void button1_Click(object sender, EventArgs e)
  15. {
  16. OpenFileDialog OFD = new OpenFileDialog();
  17. if (OFD.ShowDialog() == DialogResult.OK)
  18. {
  19. filePath = OFD.FileName;
  20. textBox1.Text = File.ReadAllText(filePath);
  21. }
  22. }
  23. private void button2_Click(object sender, EventArgs e)
  24. {
  25. OpenFileDialog OFD = new OpenFileDialog();
  26. if (OFD.ShowDialog() == DialogResult.OK)
  27. {
  28. filePath2 = OFD.FileName;
  29. textBox2.Text = File.ReadAllText(filePath2);
  30. }
  31. }
  32. private void button3_Click(object sender, EventArgs e)
  33. {
  34. string signs = ".?!:;,-()'<>";
  35. string strochka = string.Empty;
  36. string text = File.ReadAllText(filePath, Encoding.Default);
  37. using (FileStream fs = new FileStream(filePath2, FileMode.Open))
  38. {
  39. foreach (char c in text)
  40. {
  41. if (signs.Contains(c.ToString()))
  42. fs.Write(BitConverter.GetBytes(c), 0, 2);
  43. if (c == (char)13 || c == (char)10)
  44. {
  45. byte[] array = Encoding.Default.GetBytes(strochka);
  46. fs.Write(array, 0, array.Length);
  47. }
  48. }
  49. }
  50. textBox2.Text = File.ReadAllText(filePath2);
  51. }
  52. }

Решение задачи: «Переписать все из файла А в файл В, перенося в конец каждой строки все входящие в нее знаки препинания»

textual
Листинг программы
  1. using System;
  2. using System.Linq;
  3.  
  4. class Program
  5. {
  6.     private static string MovePunctuationToEnd(string s)
  7.     {
  8.         ILookup<bool, char> lookup = s.ToLookup(Char.IsPunctuation);
  9.         return new String(lookup[false].Concat(lookup[true]).ToArray());
  10.     }
  11.  
  12.     public static void Main()
  13.     {
  14.         Console.WriteLine(MovePunctuationToEnd("Где, чёрт возьми, мои носки?"));
  15.     }
  16. }

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


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

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

15   голосов , оценка 3.933 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы