Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: помогите строку отрезать Добавлено: 22.04.08 12:33  

Автор вопроса:  KreAtoR
У меня есть TextBox Multiline = True
и каждый раз в переменную переносятся всякие разные черные палочки. Как их отрезать я незнаю.

Подскажите, как отрезать все после последней буквы.

К примеру:
"Привет, меня зовут Ник___
______"

_ - в данном случае должен быть пробел.

Ответить

  Ответы Всего ответов: 15  

Номер ответа: 1
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #1
Добавлено: 22.04.08 13:01
Откуда у тебя там эти палочки могут взяться?)
Ты это имел в виду?
strData = Replace$(strData, "_", " ";)

Ответить

Номер ответа: 2
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #2
Добавлено: 22.04.08 13:02
Может у тебя просто перевод строки и возврат каретки как квадратики отображаются? Ты бы вопросы правильно формулировал...

Ответить

Номер ответа: 3
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #3 Добавлено: 22.04.08 13:49
да именно они и отображаются. извени просто незнал что это именно.

Ответить

Номер ответа: 4
Автор ответа:
 GDK



Вопросов: 13
Ответов: 348
 Профиль | | #4 Добавлено: 22.04.08 14:52
Есть встроенная функция "Trim()". Удаляет все пробелы слева и справа. Сделал такую же. Только она может удалять не только пробелы, но и любые "ненужные" символы (они передаются как один из параметров). Если надо скину.

Ответить

Номер ответа: 5
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #5 Добавлено: 22.04.08 14:59
скинь конечно буду очень рад

Ответить

Номер ответа: 6
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #6
Добавлено: 22.04.08 15:06
strData = Replace$(strData, vbNewLine, "";)

Ответить

Номер ответа: 7
Автор ответа:
 GDK



Вопросов: 13
Ответов: 348
 Профиль | | #7 Добавлено: 22.04.08 15:24
'аналог ф-ции "Trim": копия строки без знаков, перечисленных подряд в одной строке; _
т.е. все "ненужные" знаки будут удалены либо из начала строки (если Flag="L";), _
либо из конца строки(если Flag="R";), либо со всех сторон (если Flag=какому то др. значению).
Public Function TrimNew(СтрокаИсх As String, знаки As String, Flag As String)
Dim i As Long
Dim j As Long
Dim NNN As String
Dim kkk As String
Dim STRuser As String
Dim Transit As Boolean
Dim strEnd As String

Dim charX() As String
Dim a As Double

STRuser = СтрокаИсх
ReDim charX(0 To Len(знаки) - 1)

For i = 1 To Len(знаки)
charX(i - 1) = Mid(знаки, i, 1)
Next i


STRuser = СтрокаИсх
If Flag = "L" Or Flag = "l" Then
Transit = False
For i = 1 To Len(STRuser)
    If Transit = False Then
        For j = 0 To UBound(charX())
        If Asc(Mid(STRuser, i, 1)) = Asc(charX(j)) Then
        Transit = False
        Exit For
        End If
        Transit = True
        Next j
        
        If Transit = True Then strEnd = strEnd & Mid(STRuser, i, 1)
        
                        Else
        strEnd = strEnd & Mid(STRuser, i, 1)
    End If
Next i

TrimNew = strEnd
Exit Function
End If

If Flag = "R" Or Flag = "r" Then
STRuser = StrReverse(STRuser)
Transit = False
For i = 1 To Len(STRuser)
    If Transit = False Then
        For j = 0 To UBound(charX())
        If Asc(Mid(STRuser, i, 1)) = Asc(charX(j)) Then
        Transit = False
        Exit For
        End If
        Transit = True
        Next j
        
        If Transit = True Then strEnd = strEnd & Mid(STRuser, i, 1)
        
                        Else
        strEnd = strEnd & Mid(STRuser, i, 1)
    End If
Next i

TrimNew = StrReverse(strEnd)
Exit Function
End If


If Flag = "R" Or Flag = "r" Or Flag = "L" Or Flag = "l" Then
Else
Transit = False
For i = 1 To Len(STRuser)
    If Transit = False Then
        For j = 0 To UBound(charX())
        If Asc(Mid(STRuser, i, 1)) = Asc(charX(j)) Then
        Transit = False
        Exit For
        End If
        Transit = True
        Next j
        
        If Transit = True Then strEnd = strEnd & Mid(STRuser, i, 1)
        
                        Else
        strEnd = strEnd & Mid(STRuser, i, 1)
    End If
Next i
TrimNew = strEnd
STRuser = StrReverse(strEnd)
strEnd = ""
Transit = False
For i = 1 To Len(STRuser)
    If Transit = False Then
        For j = 0 To UBound(charX())
        If Asc(Mid(STRuser, i, 1)) = Asc(charX(j)) Then
        Transit = False
        Exit For
        End If
        Transit = True
        Next j
        
        If Transit = True Then strEnd = strEnd & Mid(STRuser, i, 1)
        
                        Else
        strEnd = strEnd & Mid(STRuser, i, 1)
    End If
Next i

TrimNew = StrReverse(strEnd)
Exit Function
End If

End Function
Sub a333()
'srDateEnd = DateValue("14.08.07u.";)
MsgBox (TrimNew(":::rtggggg hggjkhjk    ';;=__", "_ ;:='", "R";))
End Sub

Ответить

Номер ответа: 8
Автор ответа:
 KreAtoR



Вопросов: 120
Ответов: 438
 Профиль | | #8 Добавлено: 22.04.08 15:31
senks

Ответить

Номер ответа: 9
Автор ответа:
 GeniX



ICQ: 418811267 

Вопросов: 40
Ответов: 243
 Web-сайт: porrygatter.zx6.ru
 Профиль | | #9
Добавлено: 22.04.08 21:37
*thanks блин

Ответить

Номер ответа: 10
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #10
Добавлено: 22.04.08 22:17
*10x правильно

Ответить

Номер ответа: 11
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #11
Добавлено: 23.04.08 00:33
Что за мегабольшой код? можно сократить в три раза как минимум =)

Ответить

Номер ответа: 12
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #12
Добавлено: 23.04.08 01:49
Executioner, ага. особенно круто реализован Select Case =))

Ответить

Номер ответа: 13
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #13
Добавлено: 23.04.08 09:31
Sub a333()
'srDateEnd = DateValue("14.08.07u.";)
MsgBox (TrimNew(":::rtggggg hggjkhjk    ';;=__", "_ ;:'", "R";))
End Sub

Так ничего не работает =) если убрать "=".
Он ищет так, чтоб все символы были. Тут нельзя написать универсальную функцию.

Ответить

Номер ответа: 14
Автор ответа:
 GDK



Вопросов: 13
Ответов: 348
 Профиль | | #14 Добавлено: 23.04.08 16:01
Это написал где-то после 2х месяцев после того как узнал что существует такой язык VB(VBA). Улучшать сейчас - пока лень как то. Работает - и ладно. Кто сделает проще - просьба не жаться и выложить результат. Sub a333() - это просто чё то тестировал, в общем левак и надо удалить. А так всё должно работать. Пользуюсь частенько особенно в Word'e. А чё такое "thanks".

Ответить

Номер ответа: 15
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #15
Добавлено: 23.04.08 20:23
thanks это по-буржуйски

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам