![]() |
#6 |
Участник
|
Цитата:
Сообщение от Владимир Максимов
![]() Насколько я вижу, в постановке задачи речь идет не о регулярных выражениях, а о последовательной замене. Как "зарядка для ума" описанный метод подойдет. Но лично я бы просто написал 3 последовательных замены
X++: str strName; strName = custTable.Name; strName = global::strReplace(strTest, '\"', '`'); strName = global::strReplace(strTest, '\'', '`'); strName = global::strReplace(strTest, '&', '_'); Не вижу никакого практического смысла "вытягивать" команду замены в одну строку. И редактировать сложно и сама задача довольно специфическая. Я бы сказал, не очевидная. Если так уж хочется написать посимвольную замену, то имеет смысл не использовать существующий метод global::strReplace(), а написать свой собственный, где в качестве параметра передаются две строки с наборами символов. Не замена текста на текст, а замена каждого символа из первого параметра на соответствующий символ из второго. Чтобы было понятно о чем речь, есть функция ChrTran в FoxPro. Вот ее описание https://msdn.microsoft.com/en-us/lib...(v=vs.71).aspx Написать ее аналог в X++, думаю, будет не очень сложно Можно и 100 раз использовать strReplace в коде, но зачем все тянуть в код, если можно заменить 100 strReplace на один strReplaceContainer? Если что-то одно поменять нужно то используем strReplace, если несколько значений, то strReplaceContainer. Или я просто себе лишнею проблему придумал? ![]() |
|
Теги |
ax2009, strreplace |
|
|