powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Формат строки с длиной элементов
6 сообщений из 6, страница 1 из 1
Формат строки с длиной элементов
    #39732102
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть вполне обычная строка

Код: c#
1.
$"N{cnt.ToString()}=M{cnt.ToString()}-M{(cnt - 1).ToString()}"



что на выходе дает чтото вроде "N15 = M15 - M14"

Вот только засада в том, что это для экселя и циферки должны быть подстрочными индексами.

В экселе же это делается (на vba)

Код: vbnet
1.
Characters(Start:=1, Length:=3).Font.Subscript = True



Как написать функцию, которая бы выдала массив диапазонов, где шрифт менять на подстрочный?

Таких шаблонов много
N и M могут называться например N1, M15. Так что искать в полученной строке числа не вариант. (например M1522 где М15 имя, а 22 подстрочный индекс...)
...
Рейтинг: 0 / 0
Формат строки с длиной элементов
    #39732103
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Три раза прочитал - ничего не понял.
Попробуй на нескольких примерах - что есть и что нужно получить
...
Рейтинг: 0 / 0
Формат строки с длиной элементов
    #39732106
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

ok

есть
Код: c#
1.
"N = M-M"

(образно есть, но на самом деле есть шаблоны
Код: c#
1.
$"N{cnt.ToString()}=M{cnt.ToString()}-M{(cnt - 1).ToString()}"

)
еще есть
Код: c#
1.
int cnt



получаем

Код: c#
1.
$"N{cnt.ToString()}=M{cnt.ToString()}-M{(cnt - 1).ToString()}"



а нужно получить

Код: c#
1.
2.
3.
4.
5.
$"N{cnt.ToString()}=M{cnt.ToString()}-M{(cnt - 1).ToString()}"

плюс 

масив int[] {{начало вставки "cnt" в строку, конец вставки "cnt" в строку},{начало вставки следующего "cnt" в строку, конец вставки следующего "cnt" в строку}  и т.д }



чтоб я потом экселю сказал какие символы сделать подстрочными
...
Рейтинг: 0 / 0
Формат строки с длиной элементов
    #39732123
Colt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Правильно ли я понял, что вы предполагаете передавать искомой функции исходный шаблон (типа $"N{cnt.ToString()}=M{cnt.ToString()}-M{(cnt - 1).ToString()}") и результат его работы (типа "N15 = M15 - M14") и ожидаете, что эта функция вернет вам позиции вставки значений в шаблон?
Если это так, то как именно должна разбираться строка "N15 = M15 - M14"? Как "N 15 = M 15 - M 14 " или как "N1 5 = M1 5 - M1 4 "?
Или вы что-то другое имели ввиду?

Заметки на полях: если под/надстрочные символы могут быть только цифрами, то может имеет смысл сразу использовать специально обученных под/надстрочников, которые встречаются в некоторых шрифтах? См. например начиная с U+2080 по U+2089 в шрифте Arial Unicode MS.
...
Рейтинг: 0 / 0
Формат строки с длиной элементов
    #39732193
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-первых (ремарка), для string.Format необязательно делать ToString - он сделается сам, то есть:
Код: c#
1.
$"N{cnt}=M{cnt}-M{cnt - 1}"

гораздо нагляднее

Во-вторых - стандартной функции нет, конечно, но в чем проблема написать свою. Например, взять пару символов, которые точно не встретятся в основной строке и в цикле собрать нужный массив позиций символов
Код: c#
1.
$"N>{cnt}<=M>{cnt}<-M>{cnt - 1}<"
...
Рейтинг: 0 / 0
Формат строки с длиной элементов
    #39732609
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proно в чем проблема написать свою. Например, взять пару символов, которые точно не встретятся в основной строке и в цикле собрать нужный массив позиций символов

В том что подобная идея мне почемуто не пришла.

Меня понесло в дебри извращений вроде декомпиляции кода, или наоборот, код как сторока, а потом какой нибудь аналог exec() питона. Незнаю что именно мой сонный мозг хотел. Наверное фцию которая прозрачно вставит эту служебную разметку распарсив выражение и т.д....

Я еще не знаю всех особенностей языка, но есть ведь всякие расширения и.т.п Вот и спросил, может есть элегантное решение.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Формат строки с длиной элементов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]