Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/26: Рейтинг темы: голосов - 26, средняя оценка - 5.00
4 / 4 / 1
Регистрация: 17.09.2017
Сообщений: 359
1

можно ли удалить внутри строки лишние пробелы с методом str.Replace(" ", " ")

22.10.2018, 20:28. Показов 5259. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
using System;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication
{
    class Class
    {
        static void Main()
        {
            try
            {
                int[][] MyArray;
                Console.Write("введите количество строк: ");
                string line = Console.ReadLine();
                int n = int.Parse(line.Trim());
                MyArray = new int[n][];
                for (int i = 0; i < MyArray.Length; i++)
                {
                    line = Console.ReadLine();
                    line = line.Trim(); //удалаяем пробелы в начале и конце строки 
                                    //удаляем линшие пробелы внутри строки 
                    n = line.IndexOf("  ");
                    while (n > 0)
                    {
                        line = line.Remove(n, 1);
                        n = line.IndexOf("  ");
                    }
                    string[] mas = line.Split(' ');
                    MyArray[i] = new int[mas.Length];
                    for (int j = 0; j < MyArray[i].Length; j++)
                    {
                        MyArray[i][j] = int.Parse(mas[j]);
                    }
                }
                PrintArray("исходный массив:", MyArray);
                for (int i = 0; i < MyArray.Length; i++) Array.Sort(MyArray[i]);
                PrintArray("итоговый массив", MyArray);
            }
            catch
            {
                Console.WriteLine("возникло исключение");
            }
        }
 
        static void PrintArray(string a, int[][] mas)
        {
            Console.WriteLine(a);
            for (int i = 0; i < mas.Length; i++)
            {
                foreach (int x in mas[i]) Console.Write("{0} ", x);
                Console.WriteLine();
            }
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.10.2018, 20:28
Ответы с готовыми решениями:

Str.replace - удалить определенные символы из строки
На сайте есть контейнер с телефоном следующего вида: &lt;div class=&quot;phone&quot;&gt; 8 800 000 - 00 - 00...

Удалить лишние пробелы внутри тега
Здравствуйте! Не силен в JQuery, нужна срочная помощь! Есть такой скрипт сортировки по алфавиту: ...

Удалить из строки все лишние пробелы, заменяя повторяющиеся пробелы на один пробел
Уровень Б. 1) С клавиатуры вводится символьная строка. Определите, какой символ встречается в ней...

Удалить лишние пробелы из строки
Задана строка из массива символов. Нужно удалить лишние пробелы: Пробелы в начале и конце теста и...

5
Модератор
Эксперт .NET
15466 / 10712 / 2786
Регистрация: 21.04.2018
Сообщений: 31,532
Записей в блоге: 2
22.10.2018, 20:35 2
Лучший ответ Сообщение было отмечено Александрррррпд как решение

Решение

Цитата Сообщение от Александрррррпд Посмотреть сообщение
можно ли удалить внутри строки лишние пробелы с методом str.Replace(" ", " ")
Если Вы имеете ввиду заменить множественные пробелы на одиночные, то можно, но за один проход не всегда получится. Придётся делать несколько последовательных Replace. Их количество в цепочке должно равняться (для самого не удачного случая) логарифму по основанию два от самой возможной длительной последовательности пробелов.
1
916 / 497 / 201
Регистрация: 08.10.2018
Сообщений: 1,541
Записей в блоге: 11
22.10.2018, 20:46 3
Лучший ответ Сообщение было отмечено Александрррррпд как решение

Решение

Александрррррпд, удалить внутри строки лишние пробелы таким образом:
C#
1
2
using System;
using System.Linq;
C#
1
2
3
4
5
var str = "  удаляем  лишние пробелы    внутри строки   ";
Console.WriteLine('*' + str + '*');
var newstr = string.Join(" ", str.Split(new[] { ' ' },
                                   StringSplitOptions.RemoveEmptyEntries).Select(item => item.Trim()));
Console.WriteLine('*' + newstr + '*');
1
Эксперт JS
6492 / 3903 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781
22.10.2018, 20:52 4
Лучший ответ Сообщение было отмечено Александрррррпд как решение

Решение

Можно. Но регулярными выражениями проще. Они придуманы были для обработки текста.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using System;
using System.Text.RegularExpressions;
 
namespace Question2338491
{
    class Program
    {
        static void Main(string[] args)
        {
            var str = "a                                            b";
 
            Console.WriteLine(Normalize1(str));
            Console.WriteLine(Normalize2(str));
            Console.ReadKey();
        }
 
        private static string Normalize1(string str)
        {
            int index = str.Length;
            while ((index = str.LastIndexOf("  ", index)) >= 0)
                str = str.Remove(index, 1);
            return str;
        }
 
        private static string Normalize2(string str) => Regex.Replace(str, "  +", " ");
    }
}
1
4 / 4 / 1
Регистрация: 17.09.2017
Сообщений: 359
22.10.2018, 22:58  [ТС] 5
можете мою посмотреть у меня постоянно чтобы я не ввёл всегда ошибка
0
Эксперт .NET
5871 / 4748 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
22.10.2018, 23:41 6
Александрррррпд,
Нет никакой ошибки.
Результат:
можно ли удалить внутри строки лишние пробелы с методом str.Replace("  ", " ")
0
22.10.2018, 23:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.10.2018, 23:41
Помогаю со студенческими работами здесь

Удалить лишние пробелы из строки
Задача: удалить все лишние пробелы из строки (двойные пробелы, пробелы перед знаками препинания), а...

Удалить лишние пробелы из строки
Строковый тип данных. Задачи. Дан текст, слова в котором слова разделены одним или несколькими...

Удалить лишние пробелы из строки
Строковый тип данных. Задачи. 2) Дан текст, слова в котором слова разделены одним или...

Удалить из строки лишние пробелы
Здравствуйте, нужна помощь. Вот задание: Написать программу, которая копировала бы строку введѐнную...

Удалить из строки лишние пробелы
В общем, задача поставлена так: &quot;Дана строка, состоящая из слов, разделенных пробелами. Напишите...

Удалить из строки лишние пробелы
помогите решить задачу

Удалить из строки лишние пробелы
Здравствуйте. Это мне нужно для экзамена. Сделать нужно уже сегодня( Кто может помочь, буду очень...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru