Cách kiểm tra sự lặp lại của các ký tự phân biệt chữ hoa chữ thường

lập trình


Cách trong vb.net kiểm tra sự lặp lại của các ký tự trong chuỗi.
điều tôi đang cố gắng làm là.. tôi có một chuỗi “Whatis4compareToABig44Number” tôi muốn nó trích xuất lặp lại
các ký tự như trong chuỗi có ký tự lặp lại “40maeri”.
nó cũng sẽ phân biệt chữ hoa chữ thường, đó là lý do tại sao “T: bị bỏ qua.
không biết làm thế nào để đi về điều này.
Tất cả những điều này là những yêu cầu trong phần mềm của tôi đã khiến tôi bị cuốn hút.

Những gì tôi đã thử:

không biết làm thế nào để giải quyết vấn đề này

Giải pháp 1

Đây là một trong những thuật toán có thể:

  • Khởi tạo một từ điển có các ký tự là khóa và số nguyên làm giá trị.
  • Liệt kê các ký tự trong chuỗi đầu vào.
    • Nếu ký tự hiện tại có trong từ điển, hãy tăng giá trị.
    • Nếu không, hãy thêm ký tự vào từ điển và đặt giá trị thành 1.
  • Khởi tạo trình tạo chuỗi.
  • Liệt kê các ký tự trong từ điển.
    • Nếu ký tự hiện tại có giá trị lớn hơn một và không phải là chữ in hoa, hãy thêm nó vào trình tạo chuỗi.
  • Trả về nội dung của trình tạo chuỗi.

Giải pháp 2

Bạn đã hỏi điều này trong câu hỏi khác của bạn tại Có bộ chuyển đổi nào thực hiện việc này không?[^]. Trước tiên bạn cần quyết định xem bạn sẽ sử dụng C# hay VB.NET. Một khi bạn đã đưa ra quyết định đó thì hãy lấy một cuốn sách hay về ngôn ngữ và nghiên cứu nó để hiểu rõ về ngôn ngữ và khuôn khổ của nó.

Giải pháp 3

VB
Dim TestString As String = "Whatis4compareToABig44Number"
Dim LstFoundChar As List(Of String) = New List (Of String) 
Dim RepeatedChars As String =""
For i As Integer = 0 to TestString.Length 
 Dim TestChar As String = Strings.Mid(TestString,i,1) 
 If LstFoundChar.Contains(TestChar) Then 
    If RepeatedChars.Contains(TestChar) = False Then
       RepeatedChars= RepeatedChars & TestChar
    End If 
Else 
LstFoundChar.Add (TestChar) 

 End If 
Next 

コメント

タイトルとURLをコピーしました