Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
dsciencebk
0 / 0 / 0
Регистрация: 08.04.2016
Сообщений: 24
1

Поиск строки по шаблону без регулярок

17.04.2016, 02:21. Просмотров 315. Ответов 0
Метки нет (Все метки)

Здравствуйте, подскажите как сделать, чтобы работало.
Задание следующее: там где в формате # -должна быть любая цифра [0-9], в остальных местах символы в строке и шаблоне должны совпадать. Не смотрите особо на качество кода-это тест.
Регулярки по заданию использовать нельзя. Ключевое место помечено в комментарии в коде, все остальные места не имеют значения
Java
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
import java.util.Collection;
import java.util.HashSet;
 
 
public class TestPatterns {
    public static void main(String[] args){
        Collection<String> strings=new HashSet<>();
        strings.add("(1ab)456-78-93");
        strings.add(" 123 456-78-90");
        strings.add(null);
        for (String a:strings){
            System.out.println(a);
        }
        String format="(###)###-##-##";
        Collection<String> answer = new HashSet<>();
        System.out.println();
        char[] s;
        String numbers = "1234567890";
        if (format != null && !format.equals("")) {
            char[] f = format.toCharArray();
            for (String str : strings) {
                if (str != null) {
                    System.out.println(str);
                    s = str.toCharArray();
                    if (s.length == f.length) {
                        for (int i = 0; i < s.length; i++) {
                            System.out.println(f[i]+" "+s[i]);
                            String sfn = ""+s;
   //ВНИМАНИЕ ВОПРОС:Даже проверяя символы по решеткам-уже идёт ошибка
  //так как if возвращает true, если есть хоть одно совпадение(как видно из вывода)
   //а как сделать так, чтобы это выражение было равно true только когда ВСЕ сразу совпадают?
                            if (f[i] !='#'&& f[i]==s[i]){
                                System.out.println(f[i]+"equals"+s[i]);
                                //{ && (f[i]+"").equals(s[i]+""))){//||
                                   // (f[i] == '#' && numbers.contains(sfn) &&
                                            //sfn.length() == 1)) {
                                answer.add(str);
                            }
                        }
                    }
                }
            }
        }else for(String stt:strings){
            System.out.println(stt);
        }
         for(String r:answer){
             System.out.println(r);
         }
    }
}
Тут вывод
Java
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
null
 123 456-78-90
(1ab)456-78-93
 
 123 456-78-90
(  
# 1
# 2
# 3
)  
# 4
# 5
# 6
- -
-equals-
# 7
# 8
- -
-equals-
# 9
# 0
(1ab)456-78-93
( (
(equals(
# 1
# a
# b
) )
)equals)
# 4
# 5
# 6
- -
-equals-
# 7
# 8
- -
-equals-
# 9
# 3
 123 456-78-90
(1ab)456-78-93


P.S Или скажите способ как это сделать без регулярок проще)

Добавлено через 3 часа 59 минут
Решение найдено.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2016, 02:21
Ответы с готовыми решениями:

Какие еще есть способы проверки строк на соответствие шаблонам, кроме регулярок?
Помимо регулярных выражений, какие еще есть способы проверки строк на...

Поиск строки из переменной по шаблону
Всем привет :victory: Помогите нубу... В общем смысл такой: Есть файл...

C# Поиск строки в файле по шаблону
Нужно найти в файле по шаблону строку и вывести часть строки Пример: ...

Выдергивание ссылок из html без регулярок
Где то видел вытаскивание ссылок &lt;a href=&quot;www.sdfsdf.ru&quot;&gt;без регулярок, что то...

Проверка данных вводимых в форму без регулярок на C#
Как проверить соответствие урла вводимого в форму без регулярных выражений на...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.04.2016, 02:21

Поиск в текстовом файле с использованием регулярок
доброй ночи, питон 2.7.3. интересует сугубо работа с текстом в контексте...

QRegExp поиск всех строк которые соответствуют шаблону и поиск их длины
//поиск строк типа ] QRegExp reg(&quot;\\\\]&quot;); QString text = &quot;test ] bla ]&quot;; ...

Поиск в текстовом файле последовательностей цифр по шаблону и последующий их поиск в именах файлов (с логом)
Уважаемые программисты и хорошие люди! К Вам обращается украинский юрист. ...


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

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

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