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

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

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

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

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

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

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

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

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

Задана строка, символы которой могут повторяться. Нужно удалить все символы строки с помощью наименьшего количества вычеркиваний - C++
Задана строка, символы которой могут повторяться. За один ход разрешается вычеркнуть в любом месте строки один или несколько одинаковых...

Удалить из строки каждую пару символов '!?' и удалить некоторые символы - C++
помогите решить задачу, пожалуйста. используя scanf для чтения. Удалить из строки каждую пару символов '!?', подсчитать количество...

Упорядочить символы строки B в алфавитном порядке и удалить латинские буквы из строки A - C++
"Даны строки A и B. Если в A есть латинские буквы, а в B нет повторяющихся символов, то упорядочить символы B в алфавитном порядке и...

Определить длину строки,удалить из строки все символы, которые равны заданному - C++
Доброго времени суток уважаемые форумчане. Помогите пожалуйста с написанием кода для данной задачи в вижуале. Если будет возможно,то с...

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
veverix
39 / 39 / 2
Регистрация: 14.09.2012
Сообщений: 85
26.03.2013, 04:01 #2
думаю ПКМ -> Переименовать (если это файл)
0
alsav22
5420 / 4816 / 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;
}
1
Миниатюры
Удалить символы из строки  
pEntity
11 / 6 / 1
Регистрация: 12.12.2012
Сообщений: 393
26.03.2013, 15:51  [ТС] #4
Спасибо. Подскажите еще пожалуйста функцию,которая проверяет определенное кол-во строк и если находит,true

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

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

Мне надо в этом массиве найти совпадение,если есть соответствие хотя бы 5 строк.
0
Croessmah
Эксперт CЭксперт С++
13232 / 7504 / 846
Регистрация: 27.09.2012
Сообщений: 18,433
Записей в блоге: 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;
}
1
pEntity
11 / 6 / 1
Регистрация: 12.12.2012
Сообщений: 393
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
0
Croessmah
Эксперт CЭксперт С++
13232 / 7504 / 846
Регистрация: 27.09.2012
Сообщений: 18,433
Записей в блоге: 3
Завершенные тесты: 1
26.03.2013, 16:25 #7
Цитата Сообщение от pEntity Посмотреть сообщение
если обнаружит 5 одинаковых символов
Цитата Сообщение от pEntity Посмотреть сообщение
есть соответствие хотя бы 5 строк
Непонятка
0
pEntity
11 / 6 / 1
Регистрация: 12.12.2012
Сообщений: 393
26.03.2013, 16:30  [ТС] #8
символов
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.03.2013, 19:43 #9
Цитата Сообщение от pEntity Посмотреть сообщение
Будет строка models/v_m249.mdll
Из этой строки, что нужно искать? _m249 ?
0
pEntity
11 / 6 / 1
Регистрация: 12.12.2012
Сообщений: 393
26.03.2013, 19:45  [ТС] #10
Цитата Сообщение от alsav22 Посмотреть сообщение
Из этой строки, что нужно искать? _m249 ?
Получается так )

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

Не по теме:

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

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

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

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

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



Щас еще сам попробую,получиться,напишу ответ.
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
26.03.2013, 20:50 #14
Цитата Сообщение от pEntity Посмотреть сообщение
В массиве предложенном мною надо найти найти подобное.
Вопрос из 11 поста остаётся... Подобное - это очень расплывчато, для конкретного кода.
0
pEntity
11 / 6 / 1
Регистрация: 12.12.2012
Сообщений: 393
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;
        }
    }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.03.2013, 20:58
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.03.2013, 20:58
Ответ Создать тему
Опции темы

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