|
|
|
выкинуть символы с конца строки
|
|||
|---|---|---|---|
|
#18+
Дано: поле в таблице Excel, куда пользователь ввел что попало, например Код: java 1. Задача - вытянуть число типа Double. Подскажите пожалуйста, уважаемые профессионалы, так можно сделать, или глупость написала? Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2017, 06:58 |
|
||
|
выкинуть символы с конца строки
|
|||
|---|---|---|---|
|
#18+
Mari.PДано: поле в таблице Excel, куда пользователь ввел что попало, например Код: java 1. какие еще входные данные? нужны все варианты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2017, 07:12 |
|
||
|
выкинуть символы с конца строки
|
|||
|---|---|---|---|
|
#18+
Usman, на сегодня варианты такие, что им завтра в голову придет, кто знает.... 7,0/с 0,4/с 6,0/ч 44/с 2,6/с 15,0/с 8,0/с 2/2с 1,5/ч 17/ч 11,44/с 19,0/с 4,0/с 1,0/с 0,5/с 104/с 33/с 59,0/с 4,0/с 0 55/с 131/ч 8,4/ч 17,0/с 1,0/с 2,5/ч 8,0/с 477/с 1,0/с 194/с 8,0/с 3,0/с 4,0/с 2,0/с 418с 34,78/с 6,0/ч 6,0/ч 20/с 68/с 45,0/с 1,0/с 80/с 4,0/с 4,0/с 29/с 7,0/с 5,0/с 0,1/с 161/98 21 35/ч 2,0/с 133,7/ч ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2017, 07:26 |
|
||
|
выкинуть символы с конца строки
|
|||
|---|---|---|---|
|
#18+
Mari.P, ок Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2017, 07:29 |
|
||
|
выкинуть символы с конца строки
|
|||
|---|---|---|---|
|
#18+
Usman, Спасибо большое, попробую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2017, 07:53 |
|
||
|
выкинуть символы с конца строки
|
|||
|---|---|---|---|
|
#18+
Долго же вы с этим экселем боретесь :)) Если это была разовая операция, то можно было бы просто прямо в экселе создать пачку запросов типа insert, через конкатенацию или по-русски "сцепить", автозаменой и другими функциями экселя почистить некорректные данные, скопировать получившиеся итоги и вставить как значения в соседний столбец, проверить все данные визуально в том же notepad++ или sublim'е, там есть подсветка синтаксиса. Была у меня подобная задача залить 10000+ старых клиентов и 20000+ старых заявок в новую базу. На все про все уходит часа 3 работы. Но если у вас подобное периодически возникает, тогда, конечно, стоит через апач или что-то другое заливать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2017, 09:42 |
|
||
|
выкинуть символы с конца строки
|
|||
|---|---|---|---|
|
#18+
NixicДолго же вы с этим экселем боретесь :)) Если это была разовая операция, то можно было бы просто прямо в экселе создать пачку запросов типа insert, . Как это сделать, если макросы запрещены? То, что я хотела, я уже сделала, сейчас просто унифицирую, (туплю и не понимаю регулярных выражений). Формы Excel будут спускаться сверху с завидной регулярностью, и аналитика им нужна будет всегда. В Excel, когда листы разбросаны по всему компьютеру ее не сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2017, 12:39 |
|
||
|
выкинуть символы с конца строки
|
|||
|---|---|---|---|
|
#18+
Не имею с ними ничего общего. Но этот код слишком сложный, я не стал разбираться. Можно гораздо проще - без регулярных выражений и с ними. 1) Без регулярных выражений. Вам надо отбросить всё, что после '/'. Для этого можно использовать String.indexOf () или String.lastIndexOf() Код: java 1. 2. 3. 4. Результат: "100, 8 " Или можно применить String.split для разбиения строки на несколько частей, хотя обычно это имеет смысл, когда все части нужны: Код: java 1. 2. 3. Результат: "123" Аргумент в split вообще-то регулярное выражение, хотя в данном примере это не видно. Вот как мы могли бы превратить полное ФИО в ФИО с инициалами с помощью этой функции и регуляного выражения "(\\s)+" (оно выбирает группу пробельных символов): Код: 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. Результат: "Косой Заяц Кроликович" -> "Косой З.К." 2) С регулярным выражением. Их можно придумать много. Но я заметил, что в примерах единственное важное данное в клетке - действительное число. Значит, можно использовать регулярное выражение, убирающее все символы, которые не могут входить в число. Пример: Код: java 1. 2. 3. Результат: строка "+12,5" Здесь регулярное выражение выбирает символы в [], ^ означает "выбрать все, кроме указанных", далее указываются: \d - цифры (можно заменить на 0-9), далее символы +-., (\ перед ними потому что некоторые из них являются специальными символами в регулярных выражениях, а нам нужны они как таковые. Поскольку \ внутри Java-строки, то заменяется на \\: Код: java 1. 2. Результат: "12,5" Если подумать, то экранирование символов в этом примере всё же излишнее, сгодилось бы и s.replaceAll("[^\\d+-.,]", "") Итак, у на есть строка "12,5". Хотим превратить её в число. Для этого заменяем "," на "."; Код: java 1. 2. 3. 4. 5. 6. 7. Результат: число 12,5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2017, 22:54 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39404564&tid=2123143]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 191ms |
| total: | 312ms |

| 0 / 0 |
