M
morpheus
Вопрос
Ответ
Ниже приведены примеры замены символов в строке
Пример 0.
Автор
link removed
Пример 1.
Автор
link removed
Пример 2.
Автор
link removed
Пример 3.
Автор
link removed
Необходимо в строке заменить кавычки (") на пробелы. Почему-то нашел функцию стандартную для выполнения операции замены только в @-формулах
Ответ
Ниже приведены примеры замены символов в строке
Пример 0.
Код:
StrReplace=Implode(Split(stroka,symbolA),symbolB)
Пример 1.
Код:
v = Evaluate({@ReplaceSubstring(org_name;"\"";" ")}, doc)
Пример 2.
Код:
Function ChangeInString(source As String, string1 As String, string2 As String, sensitive As Integer) As String
%REM
'source - строка, в которой надо заменить символы
'string1 - символ в source, который надо заменить
'string2 - символ, на который надо заменить string1
'sensitive - CaseAndPitch = 0; PitchNoCase = 1; CaseNoPitch = 4; NoCaseNoPitch = 5
'пример:
'Dim strA As String
'strA = ChangeInString({Oshmianski"ищет"работу}, {"}, " ", 5)
'strA = Oshmianski ищет работу
%END REM
ChangeInString = source
On Error Goto errorhandler
If string1 = string2 Then
Print "Эта операция не имеет смысла"
Exit Function
End If
While Instr(1, source, string1, sensitive)
source = Left(source, Instr(1, source, string1, sensitive) - 1) + string2 + Mid(source, Instr(1, source, string1, sensitive) + Len(string1))
Wend
ChangeInString = source
ex:
Exit Function
errorhandler:
Print "ChangeInString: " & Error, Erl
Resume ex
End Function
Пример 3.
Код:
Function StrReplace(str1 As String, str2 As String, str3 As String)
%rem
Пример использования
If Instr(s1, |"|)>0 Then s1 = StrReplace( Cstr(s1) , |"|, {\"})
%end rem
Dim stroka As String
stroka = str1
Dim i As Integer
i = Instr(stroka, str2)
If i<1 Or Len(str1)<1 Then
StrReplace = str1
Exit Function
End If
StrReplace = ""
EE1:
i = Instr(stroka, str2)
If i>0 Then
If i-Len(str2)>0 Then
StrReplace = StrReplace + Left(stroka, i-Len(str2))+str3
Else
StrReplace = StrReplace + str3
End If
If Len(stroka) > (i-Len(str2)+1) Then
stroka = Right(stroka, (Len(stroka)-i-Len(str2)+1))
Else
stroka = ""
End If
Goto EE1
End If
StrReplace = StrReplace + stroka
End Function