Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
pEntity
11 / 6 / 1
Регистрация: 12.12.2012
Сообщений: 386
#1

Удалить символы из строки - C++

26.03.2013, 02:54. Просмотров 1291. Ответов 21
Метки нет (Все метки)

Здравствуйте. Имею строку models/v_m249.mdll

Мне нужно получить с неё weapon_m249

то есть заменить models/v на weapon

и удалить .mdll
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2013, 02:54     Удалить символы из строки
Посмотрите здесь:

Удалить из строки символы кириллицы - C++
дан массив символов char удалить все символы кириллицы

Удалить символы из строки с условием - C++
есть строка вида: string str = "\ text..\n\ text..\n\ text {..."; Как корректно удалить первую часть...

Удалить из строки все повторяющиеся символы - C++
как удалить со строки все повторяющиеся символы???? заранее благодарен!

Удалить из строки символы, которые повторяются - C++
Всем доброго дня) Вот такая вот проблемка - мне нужно из строки удалить символы которые повторяются. Например - "ABCDEACCF", должно...

Как удалить из строки ненужные символы? - C++
Как удалить из строки ненужные символы? Заранее спасибо.

Удалить из строки все числовые символы - C++
Здравствуйте, помогите, пожалуйста сделайте задач. Пользователь вводит с клавиатуры строка символов. Удалить из строка все числовые...

Удалить из строки символы * и удвоить остальные - C++
Всем привет. Есть задачка: Дана строка. Преобразовать ее, удалив каждый символ * и повторив каждый символ, отличный от *. Так вот,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
veverix
39 / 39 / 2
Регистрация: 14.09.2012
Сообщений: 85
26.03.2013, 04:01     Удалить символы из строки #2
думаю ПКМ -> Переименовать (если это файл)
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.03.2013, 04:14     Удалить символы из строки #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
 
int main()
{
string str =  "models/v_m249.mdll";
cout << str << endl;
    
str.erase(0, 8);
str.erase(str.size() - 5, 5);
str = "weapon" + str;
    
cout << str << endl;
    
system("pause");
return 0;
}
Миниатюры
Удалить символы из строки  
pEntity
11 / 6 / 1
Регистрация: 12.12.2012
Сообщений: 386
26.03.2013, 15:51  [ТС]     Удалить символы из строки #4
Спасибо. Подскажите еще пожалуйста функцию,которая проверяет определенное кол-во строк и если находит,true

То есть у меня есть массив строк.

Есть моя строка.

Мне надо в этом массиве найти совпадение,если есть соответствие хотя бы 5 строк.
Croessmah
Модератор
Эксперт CЭксперт С++
13051 / 7314 / 814
Регистрация: 27.09.2012
Сообщений: 18,051
Записей в блоге: 3
Завершенные тесты: 1
26.03.2013, 16:02     Удалить символы из строки #5
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
#include <iostream>
#include <iomanip>
#include <vector>
#include <string>
#include <algorithm>
 
 
bool foo(const std::vector<std::string> & vec,const std::string & findstr){
    return std::count(vec.begin(),vec.end(),findstr)>4;
}
 
int main(){
    std::vector<std::string> vec;
    vec.push_back("my string");
    vec.push_back("my strings");
    vec.push_back("my string");
    vec.push_back("my stringd");
    vec.push_back("my stringd");
    vec.push_back("my string");
    vec.push_back("my string");
    vec.push_back("my strg");
    vec.push_back("my string");
    std::cout<<std::boolalpha<<foo(vec,"My string")<<std::endl;
    std::cout<<std::boolalpha<<foo(vec,"my string")<<std::endl;
}
pEntity
11 / 6 / 1
Регистрация: 12.12.2012
Сообщений: 386
26.03.2013, 16:07  [ТС]     Удалить символы из строки #6
Что-то тяжелова-то.

Вы бы не могли показать на этом примере ?

Массив:

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
char *WeaponNames[CSW_P90 + 1] = 
{
    "", // 0
    "weapon_p228"// CSW_P228
    "", // 2
    "weapon_scout", // 3
    "weapon_hegrenade", // CSW_HEGRENADE
    "weapon_xm1014",    
    "weapon_c4",    
    "weapon_mac10",
    "weapon_aug",   
    "weapon_smokegrenade",  
    "weapon_elite", 
    "weapon_fiveseven", 
    "weapon_ump45", 
    "weapon_sg550",
    "weapon_galil", 
    "weapon_famas", 
    "weapon_usp",   
    "weapon_glock18",   
    "weapon_awp",   
    "weapon_mp5navy",   
    "weapon_m249",
    "weapon_m3",    
    "weapon_m4a1",  
    "weapon_tmp",   
    "weapon_g3sg1", 
    "weapon_flashbang", 
    "weapon_deagle",    
    "weapon_sg552",
    "weapon_ak47",  
    "weapon_knife", 
    "weapon_p90"
};
Будет строка models/v_m249.mdll

Пройдусь циклом и если обнаружит 5 одинаковых символов,то true
Croessmah
Модератор
Эксперт CЭксперт С++
13051 / 7314 / 814
Регистрация: 27.09.2012
Сообщений: 18,051
Записей в блоге: 3
Завершенные тесты: 1
26.03.2013, 16:25     Удалить символы из строки #7
Цитата Сообщение от pEntity Посмотреть сообщение
если обнаружит 5 одинаковых символов
Цитата Сообщение от pEntity Посмотреть сообщение
есть соответствие хотя бы 5 строк
Непонятка
pEntity
11 / 6 / 1
Регистрация: 12.12.2012
Сообщений: 386
26.03.2013, 16:30  [ТС]     Удалить символы из строки #8
символов
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.03.2013, 19:43     Удалить символы из строки #9
Цитата Сообщение от pEntity Посмотреть сообщение
Будет строка models/v_m249.mdll
Из этой строки, что нужно искать? _m249 ?
pEntity
11 / 6 / 1
Регистрация: 12.12.2012
Сообщений: 386
26.03.2013, 19:45  [ТС]     Удалить символы из строки #10
Цитата Сообщение от alsav22 Посмотреть сообщение
Из этой строки, что нужно искать? _m249 ?
Получается так )

Мне просто нужно найти эту строку и записать её int индекс,под каким номером она в массиве.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.03.2013, 19:49     Удалить символы из строки #11
Цитата Сообщение от pEntity Посмотреть сообщение
Мне просто нужно найти эту строку
Эту: models/v_m249.mdll ? Или эту: weapon_m249 ? Или строку, которая включает это: _m249 ?
Croessmah
26.03.2013, 20:32
  #12

Не по теме:

Цитата Сообщение от alsav22 Посмотреть сообщение
Эту: models/v_m249.mdll ? Или эту: weapon_m249 ? Или строку, которая включает это: _m249 ?
читы к Counter-Strike пишет человек
Какая необходима книга ?

pEntity
11 / 6 / 1
Регистрация: 12.12.2012
Сообщений: 386
26.03.2013, 20:46  [ТС]     Удалить символы из строки #13
Почему сразу же читы ? Просто собираю свой сервер + хочу использовать возможности движка.

Добавлено через 2 минуты
У меня есть строка models/v_m249.mdll

В массиве предложенном мною надо найти найти подобное. То есть в массиве если из models/v_m249.mdll найдет совпадающие буквы,true

Я представляю как искать как-то на совпадение 4 буквы..



Щас еще сам попробую,получиться,напишу ответ.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.03.2013, 20:50     Удалить символы из строки #14
Цитата Сообщение от pEntity Посмотреть сообщение
В массиве предложенном мною надо найти найти подобное.
Вопрос из 11 поста остаётся... Подобное - это очень расплывчато, для конкретного кода.
pEntity
11 / 6 / 1
Регистрация: 12.12.2012
Сообщений: 386
26.03.2013, 20:58  [ТС]     Удалить символы из строки #15
Мне надо в массиве WeaponNames найти строку weapon_m249 с помощью строки szModels

По сути пройдусь циклом по всему массиву,а далее какая мне нужна функция? Явно не stricmp,так как она будет проверять просто две строки без учета регистра,а мне как бы надо найти совпадение хотя бы 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
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
    const char *szModels = "models/v_m249.mdll";
    
    char *WeaponNames[31] = 
    {
        "", // 0
        "weapon_p228",  // CSW_P228
        "", // 2
        "weapon_scout", // 3
        "weapon_hegrenade", // CSW_HEGRENADE
        "weapon_xm1014",    
        "weapon_c4",    
        "weapon_mac10",
        "weapon_aug",   
        "weapon_smokegrenade",  
        "weapon_elite", 
        "weapon_fiveseven", 
        "weapon_ump45", 
        "weapon_sg550",
        "weapon_galil", 
        "weapon_famas", 
        "weapon_usp",   
        "weapon_glock18",   
        "weapon_awp",   
        "weapon_mp5navy",   
        "weapon_m249",
        "weapon_m3",    
        "weapon_m4a1",  
        "weapon_tmp",   
        "weapon_g3sg1", 
        "weapon_flashbang", 
        "weapon_deagle",    
        "weapon_sg552",
        "weapon_ak47",  
        "weapon_knife", 
        "weapon_p90"
    };
 
    #define MAX_WEAPONS 31
 
    signed int iWeaponIndex = NULL;
    signed int iWeapon = NULL;
 
 
    for( iWeapon = 1; iWeapon < MAX_WEAPONS ; iWeapon++)
    {
        if( iWeapon == 2 )
            continue;
 
        if( stricmp( WeaponNames[ iWeapon ], szModels ) )
        {
            iWeaponIndex = iWeapon;
            break;
        }
    }
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.03.2013, 21:33     Удалить символы из строки #16
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
57
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
 
int main()
{
 char *WeaponNames[] = 
 {
    "", // 0
    "weapon_p228",  // CSW_P228
    "", // 2
    "weapon_scout", // 3
    "weapon_hegrenade", // CSW_HEGRENADE
    "weapon_xm1014",    
    "weapon_c4",    
    "weapon_mac10",
    "weapon_aug",   
    "weapon_smokegrenade",  
    "weapon_elite", 
    "weapon_fiveseven", 
    "weapon_ump45", 
    "weapon_sg550",
    "weapon_galil", 
    "weapon_famas", 
    "weapon_usp",   
    "weapon_glock18",   
    "weapon_awp",   
    "weapon_mp5navy",   
    "weapon_m249",
    "weapon_m3",    
    "weapon_m4a1",  
    "weapon_tmp",   
    "weapon_g3sg1", 
    "weapon_flashbang", 
    "weapon_deagle",    
    "weapon_sg552",
    "weapon_ak47",  
    "weapon_knife", 
    "weapon_p90"
 };
        string str = "weapon_m249";
        int i;
        for (i = 0; i < 31; ++i)
        {
            if (WeaponNames[i] == str)
            {
                 cout << "i = " << i << endl;
                 break;
            }
        }
        
        if (i == 31) cout << "No!" << endl;
        
        system("pause");
        return 0;
}
pEntity
11 / 6 / 1
Регистрация: 12.12.2012
Сообщений: 386
26.03.2013, 22:15  [ТС]     Удалить символы из строки #17
Да,но мне нужно именно из строки models/v_m249.mdll найти

То есть проходится циклом по массиву,когда проходит по строке

"weapon_m249",

Видит,что совпадение строки models/v_m249.mdll с weapon_m249,true
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.03.2013, 22:36     Удалить символы из строки #18
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
string str = "_m249";
string temp;
int i;
for (i = 0; i < 31; ++i)
{
      temp = WeaponNames[i];
      if (temp.find(str) != -1)
      {
              cout << "i = " << i << endl;
              break;
      }
}
        
if (i == 31) cout << "No!" << endl;
pEntity
11 / 6 / 1
Регистрация: 12.12.2012
Сообщений: 386
26.03.2013, 22:43  [ТС]     Удалить символы из строки #19
Вот откуда

string str = "_m249";

У меня const char *

Которая передает models/v_m249.mdll
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2013, 22:58     Удалить символы из строки
Еще ссылки по теме:

Удалить из строки s1 все символы, встречающиеся в строке s2. - C++
Удалить из строки s1 все символы, встречающиеся в строке s2 А вот здесь как подсчитать кол-во удаленных символов? Пробовал поставить в...

Какой функцией удалить из строки запрещенные символы - C++
Есть переменная типа string в которую пишутся разные имена, а потом они вставляются в БД. Есть какая нить функция в C++ чтобы...

Удалить символы из строки за минимальное количество ходов. - C++
Удалить символы из строки за минимальное количество ходов. Пример input.txt acdcbbc output.txt 4 вот что Я...

Удалить из строки все символы, не являющиеся латинскими буквами - C++
Вывести строку символов. Удалить из строки все символы, не являющиеся латинскими буквами. Вывести на экран измененную строку. Заранее...

Удалить из первой строки символы, которых нет во второй - C++
Составить процедуру, в результате обращения к которой из первой заданной строки удаляется каждый символ, принадлежащий и второй заданной...


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

Или воспользуйтесь поиском по форуму:
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.03.2013, 22:58     Удалить символы из строки #20
Цитата Сообщение от pEntity Посмотреть сообщение
У меня const char *
Цитата Сообщение от pEntity Посмотреть сообщение
Которая передает models/v_m249.mdll
Это мне откуда должно быть видно, что у вас и как?
Yandex
Объявления
26.03.2013, 22:58     Удалить символы из строки
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru