|
Преобразовать строку от пробела
| ☑ |
0
1ctube
22.08.18
✎
09:29
|
День добрый. Есть строка, например: Наименование Артикул
Нужно взять из этой строки только Артикул.
Если нужно было взять Наименование, то я бы написал так:
Стр =Наименование Артикул
П = Лев(Стр , найти(Стр , " "));
А как быть если нужно брать символы справа?
|
|
1
Lexey_
22.08.18
✎
09:31
|
(0) Сред() Или СтрРазделить()
|
|
2
Lexey_
22.08.18
✎
09:32
|
или Прав()
|
|
3
Serg_1960
22.08.18
✎
09:34
|
ТС хочет найти последний пробел :)
|
|
4
Мыш
22.08.18
✎
09:36
|
(3) Тогда СтрРазделить удобнее
|
|
5
Serg_1960
22.08.18
✎
09:47
|
(4) Угу. Если "Наименование Артикул" считать как фразу из слов, разделенных пробелами, то есть куча способов фразу разделить на слова. Самое ходовое - СтрРазделить(). Можно "по старинке" заменить пробелы на Символы.ПС - получим многострочную строку. Но можно, в принципе, найти и последний пробел. Там кода на пять строк алгоритма достаточно, имхо.
|
|
6
dmt
22.08.18
✎
09:49
|
П = сред(Стр , найти(Стр , " ")+1);
|
|
7
Serg_1960
22.08.18
✎
10:08
|
Курите функцию СтрНайти, там есть НаправлениеПоиска.СКонца - но нужно озвучить совместимость.
|
|
8
Salimbek
22.08.18
✎
10:18
|
Стр=СтрЗаменить(Текст," ",Символы.ПС);
НужныйТекст = Стр.ПолучитьСтрокуПоНомеру(Стр.КоличествоСтрок());
|
|
9
Salimbek
22.08.18
✎
10:20
|
Память подводит :-)
НужныйТекст = Стр.ПолучитьСтрокуПоНомеру(Стр.КоличествоСтрок());
нужно читать как:
НужныйТекст = СтрПолучитьСтроку(Стр,СтрЧислоСтрок(Стр));
|
|
10
Serg_1960
22.08.18
✎
10:46
|
Прикалываюсь, забивая любимый гвоздик микроскопом :))
ФразаИзСлов = "Нужно взять из этой строки только Артикул";
ВремСтр = ФразаИзСлов;
Для х = 1 По СтрЧислоВхождений(ФразаИзСлов, " ") Цикл
ПоследнийПробел = Найти(ВремСтр, " ");
ВремСтр = Лев(ВремСтр, ПоследнийПробел - 1) + "_" + Сред(ВремСтр, ПоследнийПробел + 1);
КонецЦикла;
Артикул = Сред(ФразаИзСлов, ПоследнийПробел + 1);
|
|
11
1ctube
23.08.18
✎
07:28
|
Всем спасибо, получилось!
|
|