Глава 3
В следующем примере продемонстрирован поиск без учета регистра:
Вверх
// Создание копии s в верхнем регистре
// Создание копии s в нижнем регистре
class FindTest : public TestSuite::Test {
void
testUpper
()
{
int main() {
Анализ:
Функции upperCase и lowerCase работают по одному принципу: они создают копию своего аргумента типа string с измененным регистром символов.
Программа Find.cpp не лучшим образом решает проблему изменения регистра, и мы вернемся к этой проблеме, когда будем рассматривать сравнения строковых объектов.
АВ: Программы использующие поиск и вставку в это место нового фрагмента текста мною написаны. Часто ими пользуюсь.
insert() - расступииись, ребята!
Назад |
Начало урока |
Вверх |
Вперед
//: C03:Find.h
#ifndef FIND_H
#define FIND_H
#include <cctype>
#include <cstddef>
#include <string>
#include "../TestSuite/Test.h"
using std::size_t;
using std::string;
using std::tolower;
using std::toupper;
string
upperCase
(const string& s) {
for(size_t i = 0; i < s.length(); ++i)
string
lowerCase
(const string& s) {
for(size_t i = 0; i < s.length(); ++i)
public:
FindTest() : chooseOne("Eenie, Meenie, Miney, Mo") {}
const string LOWER = "abcdefghijklmnopqrstuvwxyz";
test_(upper.find_first_of(LOWER) == string::npos);
void
testLower
() {
const string UPPER = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
test_(lower.find_first_of(UPPER) == string::npos);
void
testSearch
() {
size_t i = chooseOne.find("een");
test_(i == 8);
// Поиск в нижнем регистре:
string test = lowerCase(chooseOne);
i = test.find("een");
test_(i == 0);
i = test.find("een", ++i);
test_(i == 8);
i = test.find("een", ++i);
test_(i == string::npos);
// Поиск в верхнем регистре
test = upperCase(chooseOne);
i = test.find("EEN");
test_(i == 0);
i = test.find("EEN", ++i);
test_(i == 8);
i = test.find("EEN", ++i);
test_(i == string::npos);
void run() {
testLower();
testSearch();
#endif // FIND_H ///:~
//: C03:Find.cpp
//{L} ../TestSuite/Test
#include "Find.h"
#include "../TestSuite/Test.h"
t.run();
return t.report();
Результат:
replace() - вы не подходите! Брысь отсюда! Заменить новыми!
Содержание