'-----------------------------------------------------------------
'Делит Text на элементы, разделенные строкой символов
'Delimiters (которая может быть любой длины).
'Если параметр No=0, функцией возвращается количество
'элементов (Integer), при других значениях - получившаяся
'строка, отделенная первым встретившимся элементом
'Delimiters (String).
'------------------------------------------------------------------
Function Delimit(No As Integer, DataString As String, Delimiter
As String) As Variant
Dim V As Variant, N As Integer, I As Integer, I0 As Integer
If Len(DataString) = 0 Then
If No = 0 Then
V = 0
Else
V = ""
End If
Delimit = V
Exit Function
End If
I0 = 1
If No = 0 Then
N = 1
Do
I = InStr(I0, DataString, Delimiter)
If I = 0 Then Exit Do
N = N + 1
I0 = I + Len(Delimiter)
Loop
Delimit = N
Exit Function
End If
I0 = 1
N = 1
Do
I = InStr(I0, DataString, Delimiter)
If I = 0 Then Exit Do
If N = No Then Exit Do
N = N + 1
I0 = I + Len(Delimiter)
Loop
If N < No Then
Delimit = ""
Exit Function
End If
I = InStr(I0, DataString, Delimiter)
If I = 0 Then
V = Mid$(DataString, I0)
Else
V = Mid$(DataString, I0, I - I0)
End If
Delimit = V
End Function
Все функции замены текста, удаления пробелов и пр., я думаю,
можно синтезировать с помощью моих Delimit и Separate.
Соответственно например процедура "делания" всех букв
каждого слова выглядит так:
Dim I as Integer,Z as String,Text as String
Text="test, test, test, test"
Z=""
For I=1 to Delimit(0,Text," ")
Z=Z & UCase$(Mid$(Delimit(I,Text," "),1,1)+LCase$(Mid$(Delimit(I,Text,"
")& " "
Next I
If Delimit(0,Text," ")>0 Then Z=Left$(Z,Len(Z)-1) 'Чтобы убрать лишний
пробел
Text=Z
Если надо сделать первые буквы предложений заглавными, то
достаточно вместо Delimit использовать Separate, а Delimiters=".!?".
Убрать лишние пробелы? Пожалуйста:
Dim I as Integer,Z as String,Text as String
Text="te st, t est
, test, test"
Z=""
For I=1 to Delimit(0,Text," ")
If Delimit(I,Text," ")<>"" Then Z=Z & Delimit(I,Text," ") &
" "
Next I
If Delimit(0,Text," ")>0 Then Z=Left$(Z,Len(Z)-1)
Text=Z
Если надо вырезать какие-то символы из строки --- Delimiters=символы
и сложить все элементы.
Используются технологии
uCoz