2012-07-18 35 views
7

Tôi đã tìm kiếm tất cả các mục này. Trong Delphi/Lazarus, với một vị trí, tôi muốn tìm nhân vật ở vị trí đó trong một chuỗi khác. Tôi biết cách tìm vị trí của một nhân vật. Tôi cần nó theo cách khác xung quanh: nhân vật ở một vị trí nhất định. Cảm ơn trước.Delphi - tìm nhân vật một vị trí/chỉ mục đã cho

Trả lời

12

Trong Delphi, một ký tự trong chuỗi có thể được lập chỉ mục bằng ký hiệu mảng. Chỉ cần lưu ý rằng ký tự đầu tiên trong chuỗi có chỉ mục một.

var 
    s: string; 
    c: char; 
begin 
    s := 'Hello'; 
    c := s[1]; //H 
end; 
+0

Lưu ý: Ký tự dựa trên 1. –

5

Chuỗi có thể được truy cập như một mảng.

MyString [12] cung cấp cho bạn ký tự thứ 12 trong chuỗi. Lưu ý: Đây là 1-index (vì vị trí 0 sử dụng để giữ độ dài của chuỗi)

Ví dụ:

var 
    MyString : String; 
    MyChar : Char; 
begin 
    MyString := 'This is a test'; 
    MyChar := MyString[4]; //MyChar is 's' 
end; 
0

này được cuối cùng đã trả lời vào năm 2012, vì vậy figured tôi muốn chỉ cần thêm một Cập nhật:

Đối với phiên bản mới nhất của Delphi (Hiện tại Tokyo Edition - chạy trên nhiều nền tảng sử dụng khung FMX), lớp StringHelper cung cấp giải pháp chỉ mục ký tự nền tảng chéo. Triển khai này giả định chỉ mục dựa trên 0 cho tất cả các nền tảng được hỗ trợ.

ví dụ:

var 
    myString: String; 
    myChar: Char; 
begin 
    myChar := myString.Chars[0]; 
end; 
Các vấn đề liên quan