Wie "speziell" müssen Methoden eigentlich sein, damit sie von Dir nicht
als "obsolet" eingestuft werden?
Kann eine dieser Routinen Dein "Kriterium für Nicht-Obsoletheit" erfüllen?
Namespace ManfredX
''' <summary>Spezielle String-Methoden (Ausnahmen werden
' geworfen)</summary>
Public Class Strings
''' <summary>Rückgabe des hinteren/rechten Teils eines String</summary>
''' <param name="value">String, dessen rechter Teil
' zurückgegeben wird</param>
''' <param name="length">Länge des Teilstrings</param>
Public Shared Function RightPart(ByVal value As String, _
ByVal length As Integer) As String
With value
Return .Substring(.Length - length, length)
End With
End Function
''' <summary>Bestimmung der Anzahl Zeichen, die Buchstaben etc.
' sind</summary>
''' <param name="IncludeDigits">auch Zahlen zählen?=</param>
''' <param name="IncludePunctuation">auch Satzzeichen zählen?</param>
''' <param name="IncludeSymbols">auch Math-, Currency-,
' Modifier-, Other-Symbole zählen?</param>
''' <param name="IncludeWhitespaces">auch Spaces, Tabs,
' Line-/Paragraph-Seps zählen?</param>
Public Shared Function CountCharTypes(ByVal text As String, _
Optional ByVal IncludeDigits As Boolean = False, _
Optional ByVal IncludePunctuation As Boolean = False, _
Optional ByVal IncludeSymbols As Boolean = False, _
Optional ByVal IncludeWhitespaces As Boolean = False) _
As Integer
If String.IsNullOrEmpty(text) Then Return 0
Dim sum As Integer = 0
For i As Integer = 0 To text.Length - 1
Dim c As Char = text(i)
If Char.IsLetter(c) Then
sum += 1
ElseIf IncludeDigits AndAlso Char.IsNumber(c) Then
sum += 1
ElseIf IncludePunctuation AndAlso Char.IsPunctuation(c) Then
sum += 1
ElseIf IncludeSymbols AndAlso Char.IsSymbol(c) Then
sum += 1
ElseIf IncludeWhitespaces AndAlso Char.IsWhiteSpace(c) Then
sum += 1
End If
Next i
Return sum
End Function
''' <summary>Ersetzung der Steuerzeichen</summary>
''' <param name="Replacement">Zeichenfolge für die Ersetzung der
' Steuerzeichen</param>
Public Shared Function ReplaceControls(ByVal text As String, _
Optional ByVal Replacement As String = "") As String
If String.IsNullOrEmpty(text) Then Return String.Empty
Dim stb As New StringBuilder(text.Length)
For i As Integer = 0 To text.Length - 1
Dim c As Char = text(i)
If Char.IsControl(c) Then
If Not String.IsNullOrEmpty(Replacement) Then
stb.Append(Replacement)
End If
Else
stb.Append(c)
End If
Next i
Return stb.ToString
End Function
''' <summary>Entfernung von Zeichen-Wiederholungen</summary>
''' <param name="repeatingcharacter">das Zeichen, dessen
' Wiederholungen entfernt werden</param>
Public Shared Function RemoveRepeatingCharacter_
(ByVal text As String, _
ByVal repeatingcharacter As Char) As String
If String.IsNullOrEmpty(text) Then Return String.Empty
Dim stb As New StringBuilder(text.Length)
Dim repeating As Boolean
For i As Integer = 0 To text.Length - 1
Dim c As Char = text(i)
If Not c = repeatingcharacter Then
stb.Append(c)
repeating = False
ElseIf Not repeating Then
stb.Append(c)
repeating = True
End If
Next i
Return stb.ToString
End Function
End Class
End Namespace
End Namespace
Beitrag wurde zuletzt am 21.05.14 um 19:19:16 editiert. |