0 / 0 / 0
Регистрация: 26.06.2013
Сообщений: 10

Сравнение string с пробелами в С#

26.06.2013, 20:55. Показов 6841. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сравнить две строки типа string?
Например, есть строка "123456" и строка "123456 ". Нужно сравнить их и чтобы функция которая эти строки сравнивала выдала True.
 Комментарий модератора 
Запрещено дублировать темы
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.06.2013, 20:55
Ответы с готовыми решениями:

чтение с пробелами String
Здравствуйте! Не давно только перешел с C++ на Java. Есть такая задача, может Вы ее уже встречали... Одним словом, нужно ввести n, а затем...

Сравнение string::iterator со string::reverse_iterator
Уважаемые форумчане, подскажите пожалуйста, как можно сравнить string::iterator и string::reverse_iterator, в частности что бы определить,...

String, который не дружит с пробелами
Добрый день. Имеется несколько вопросов: во-первых, почему в примере адреса выводятся только по одному слешу, тогда как я указал два?...

15
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
26.06.2013, 20:59
оператор == сравнивает строки
0
433 / 368 / 149
Регистрация: 06.08.2012
Сообщений: 961
26.06.2013, 21:03
C#
1
2
3
4
bool F(String s1, String s2)
{
   return s1 == s2;
}
0
0 / 0 / 0
Регистрация: 26.06.2013
Сообщений: 10
26.06.2013, 21:04  [ТС]
Цитата Сообщение от Jupiter Посмотреть сообщение
оператор == сравнивает строки
уже пробовал, но после такой проверки строки
s1 = "123456";
s2 = "123456 ";
не равны, а мне нужно чтобы они быди равны друг другу
0
433 / 368 / 149
Регистрация: 06.08.2012
Сообщений: 961
26.06.2013, 21:12
C#
1
2
3
4
5
6
7
8
9
10
11
12
using System;
 
class Programm
{
    static void Main()
    {
        String s1 = "123456";
        String s2 = "123456";
 
        Console.WriteLine(Equals(s1, s2));
    }
};
Добавлено через 41 секунду
Цитата Сообщение от Dionissius Посмотреть сообщение
s1 = "123456";
s2 = "123456 ";
лишний пробел в s2, вот и не равны.
0
0 / 0 / 0
Регистрация: 26.06.2013
Сообщений: 10
26.06.2013, 21:18  [ТС]
Извиняюсь, наверно немного не правильно объяснил, что мне нужно
Итак, у меня есть две строки
String s1 = "123456";
String s2 = "123456______";(во второй строке после цифр очень много пробелов, в первой - только цифры без пробелов)
Мне нужно сравнить эти две строки, но функция которая будет их сравнивать должна проигнорировать пробелы которые стоят в конце и выдать значение TRUE, то есть что они равны.
Также, строки такого типа:
String s3 = "This is string";
String s4 = "This is string______";
тоже должны быть равны.
*нижние подчеркивание - это пробелы
0
26.06.2013, 21:23

Не по теме:

C# плавно переехал в раздел C++?

0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
26.06.2013, 21:27
C#
1
2
3
string s1 = "123456";
string s2 = "123456 ";
if(s1 == s2.TrimEnd()) //...
1
0 / 0 / 0
Регистрация: 26.06.2013
Сообщений: 10
26.06.2013, 21:31  [ТС]
Цитата Сообщение от rangerx Посмотреть сообщение
C#
1
2
3
string s1 = "123456";
string s2 = "123456 ";
if(s1 == s2.TrimEnd()) //...
Да, спасибо огромное! То, что нужно!
0
432 / 433 / 93
Регистрация: 16.07.2012
Сообщений: 886
26.06.2013, 21:32
Метод String.TrimEnd() уберет лишние пробелы в конце строки:
C#
1
2
3
4
if (s1.TrimEnd() == s2.TrimEnd())
{
    // ...
}
Есть еще полезные методыTrimStart() (убирает пробелы в начале строки) и просто Trim() (убирает пробелы с обоих концов).
2
433 / 368 / 149
Регистрация: 06.08.2012
Сообщений: 961
26.06.2013, 21:34

Не по теме:

или так. лол :D


C#
1
2
3
4
5
6
7
8
9
10
11
12
using System;
 
class Programm
{
    static void Main()
    {
        String s1 = "123456";
        String s2 = "123456___";
 
        Console.WriteLine(Equals(s1, s2.Substring(0, s1.Length)));
    }
};
0
369 / 341 / 108
Регистрация: 12.02.2013
Сообщений: 653
26.06.2013, 22:06
так вроде получается
C#
1
2
3
4
5
6
7
8
9
10
            string s1 = "12345";
            string s2 = "12345     ";
 
            s2 = s2.TrimEnd();
 
            int i = String.Compare(s1, s2, StringComparison.CurrentCulture);
            if (i == 0)
                Console.Write("Строки равны");
            else
                Console.Write("Строки не равны");
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
27.06.2013, 08:13
Цитата Сообщение от Diman777 Посмотреть сообщение
String.Compare
Эму не нужно узнавать какая из строк больше, а какая меньше. Достаточно сравнить на равенство (==)
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
27.06.2013, 08:25
Цитата Сообщение от SeregaC++ Посмотреть сообщение
или так. лол
А вот так не стОит.
C#
1
2
        String s1 = "12345";
        String s2 = "123456___";
1
0 / 0 / 0
Регистрация: 06.07.2019
Сообщений: 1
06.07.2019, 14:00
Настраиваемый вариант без порождения новых строк. Конечно, необходимо учитывать, что строки без пробелов семантически могут быть различны.

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
string str = "Hel lo world!";
string rts = "Hello\n   world!";
char[] skips = { ' ', '\n' };
 
if (CompareExcept(str, rts, skips))
    Console.WriteLine("The strings are equal.");
else
    Console.WriteLine("The strings are not equal.");
 
 
static bool CompareExcept(string str, string rts, char[] skips)
{
    if (str == null && rts == null) return true;
    if (str == null || rts == null) return false;
 
    var strReader = new StringReader(str);
    var rtsReader = new StringReader(rts);
    char nonchar = char.MaxValue;
 
    Predicate<char> skiper = delegate (char chr)
    {
        foreach (var skp in skips)
        {
            if (skp == chr) return true;
        }
        return false;
    };
 
    while (true)
    {
        char a = strReader.GetCharExcept(skiper);
        char b = rtsReader.GetCharExcept(skiper);
 
        if (a == b)
        {
            if (a == nonchar) return true;
            else continue;
        }
        else return false;
    }
}
 
class StringReader : System.IO.StringReader
{
    public StringReader(string str) : base(str) { }
 
    public char GetCharExcept(Predicate<char> compare)
    {
        char ch;
 
        while (compare(ch = (char)Read())) { }
 
        return ch;
    }
}
0
215 / 149 / 48
Регистрация: 28.12.2016
Сообщений: 716
06.07.2019, 14:34
Dionissius, просто Replace(" ",""); и потом сравнивать!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.07.2019, 14:34
Помогаю со студенческими работами здесь

Простой ввод строки с пробелами через string
Visual studio 2012, никак не могу ввести строку через string. У меня не работает вот этот фрагмент кода: #include &quot;stdafx.h&quot; ...

Фейл. Вывод string (getline) с пробелами. ООП
В простом варианте всё путём, но в готовом решении не пойми что. Понять, почему строка конструктора при создании объекта b не...

Записать строку с пробелами в string, с помощью потока.
Здравствуйте. Можно ли с помощью потока ввода записать строку с пробелами в тип string. Если да, то как.

Как на C++ ввести с консоли строку с пробелами в тип string?
Нужно создать программу определяющую является ли строка палиндромом(т.е. одинаково пишется как слева направо так и справа налево)....

В заданной строке заменить каждый пробел двумя пробелами используя string
В заданной строке заменить каждый пробел двумя пробелами используя string.


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

Новые блоги и статьи
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru