Автор Тема: [Данные, строки] Удалить лишние пробелы между цифрами  (Прочитано 159 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Sergio [?]

  • Новичок
  • *
  • Сообщений: 16
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
дана строка:
5 6 6 2                6 6 5 5 6 6 2               6 5 4 6 5        5 6 6 6     1 0 . 3 . 566             а п о л д           5 6 4 8    5 6 6 2   
нужно получить:
5662
6655662
5666
5648

если коротко, то нужно получить только 4х и 7значные числа, без повторов
пробовал вот это:
Код: AutoIt [Выделить]
StringRegExp($text, '((\d\s){4,7})', 3)

но результат далек от идеала
« Последнее редактирование: Ноябрь 12, 2017, 20:47:56 от Garrett »

Русское сообщество AutoIt


Помечен как лучший ответ пользователем Sergio Отправлен Ноябрь 12, 2017, 21:24:00

Оффлайн sngr [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 843
  • Репутация: 349
    • Награды
  • Версия AutoIt: 3.3.8.1
Код: AutoIt [Выделить]
#include 'array.au3'
$file='5 6 6 2                6 6 5 5 6 6 2               6 5 4 6 5        5 6 6 6     1 0 . 3 . 566             а п о л д           5 6 4 8    5 6 6 2   '
$file=StringRegExpReplace($file,'(\d)\s','\1')
$str=StringRegExp($file,'\d{7}|\d{4}',3)
$aaa=_ArrayUnique($str)
_ArrayDisplay($aaa)


Оффлайн Sergio [?]

  • Новичок
  • *
  • Сообщений: 16

  • Автор темы
  • Репутация: 0
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
sngr
Это шедеврально!


Добавлено: Ноябрь 12, 2017, 22:55:57
sngr  [?]
Цитировать
$str=StringRegExp($file,'\d{7}|\d{4}',3)
что означает последняя цифра 3? В справке такого нет

И еще, как  например удалить все значения меньше 1000? Или отсортировать цифры по возрастанию
« Последнее редактирование: Ноябрь 12, 2017, 22:55:57 от Sergio, Причина: Объединение сообщений »

Оффлайн Tempo [?]

  • Осваивающий
  • **
  • Сообщений: 106
  • Репутация: 25
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
что означает последняя цифра 3? В справке такого нет
Третий параметр "flag" StringRegExp

Или отсортировать цифры по возрастанию
Используйте _ArraySort

Русское сообщество AutoIt

Re: [Данные, строки] Удалить лишние пробелы между цифрами
« Ответ #3 Отправлен: Ноябрь 12, 2017, 23:16:56 »

Оффлайн Alofa [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1200
  • Репутация: 168
  • Пол: Мужской
  • Windows7 (x64)
    • Награды
  • Версия AutoIt: 3.3.12.0
... нужно получить только 4х и 7значные числа...
... удалить все значения меньше 1000?..
Вы точно знаете чего хотите?

Русское сообщество AutoIt

Re: [Данные, строки] Удалить лишние пробелы между цифрами
« Ответ #4 Отправлен: Ноябрь 12, 2017, 23:24:39 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
3 Ответов
4481 Просмотров
Последний ответ Ноябрь 27, 2010, 00:02:45
от Бугор
10 Ответов
6532 Просмотров
Последний ответ Май 09, 2011, 19:10:32
от AZJIO
11 Ответов
5620 Просмотров
Последний ответ Октябрь 21, 2011, 21:12:33
от Math
11 Ответов
3804 Просмотров
Последний ответ Декабрь 12, 2011, 18:16:54
от Zalman1980
9 Ответов
5380 Просмотров
Последний ответ Апрель 26, 2012, 12:38:35
от Garrett
16 Ответов
2965 Просмотров
Последний ответ Март 08, 2013, 17:40:02
от ivsatel
2 Ответов
1983 Просмотров
Последний ответ Декабрь 06, 2013, 04:30:27
от joiner
3 Ответов
1557 Просмотров
Последний ответ Декабрь 28, 2014, 22:18:30
от Garrett
0 Ответов
618 Просмотров
Последний ответ Декабрь 27, 2014, 21:17:38
от madmasles
7 Ответов
2741 Просмотров
Последний ответ Май 08, 2015, 23:32:01
от Tapok