как переместить специальный символ в строке от начала до конца в Crystal Reports - PullRequest
0 голосов
/ 21 июня 2020

в моей программе я (после многих процедур) получаю токенизированные слова. К сожалению, из-за их перестановки они содержат знаки препинания в начале слова, например. "БАРЖА" UR 106 Как переместить это "от начала до конца -> БАРЖА" UR 106 " другой пример: (. REIS (HASAN M должно быть -> REIS (HASAN M.)

До сих пор я пробовал:

    {DOCHS14.SHEM__ONIA} startswith ["\"","\(","\."\,"\(\."]
    then 
    Local StringVar str:={DOCHS14.SHEM__ONIA}[0]
    TrimLeft ({DOCHS14.SHEM__ONIA})
    {DOCHS14.SHEM__ONIA}&str;

Но это дает мне ошибки: число, сумма валюты , здесь ожидается логическое значение, дата, время, дата-время или строка.

Как это исправить? или есть другой способ решить эту проблему?

1 Ответ

0 голосов
/ 22 июня 2020

В вашей формуле есть несколько проблем.

  1. startswith ожидает строку, а не массив строк.
  2. Необходимо экранировать только двойной qoute, но вы это сделали неправильно. (См. здесь )

Хотя решение с startswith также возможно, я использовал вместо этого Left -функцию. В вашем третьем примере нужно проверить два символа, поэтому сначала нужно проверить это и вывести другой результат.

if Left({DOCHS14.SHEM__ONIA}, 2) = "(." Then
    Mid({DOCHS14.SHEM__ONIA}, 3) + ".)"
else if Left({DOCHS14.SHEM__ONIA}, 1) in ["""", "(", ".", ","] Then
    Mid({DOCHS14.SHEM__ONIA}, 2) + Left({DOCHS14.SHEM__ONIA}, 1)
else
    {DOCHS14.SHEM__ONIA}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...