Giả sử tôi có một chuỗi '[email protected]'
. Tôi muốn lưu trữ chuỗi trước và sau "@" thành 2 chuỗi riêng biệt. Phương pháp dễ nhất để tìm ký tự "@" hoặc các ký tự khác trong chuỗi là gì?Tìm một ký tự cụ thể trong một chuỗi trong Matlab
Trả lời
Tôi đã sử dụng strtok và strrep từ Matlab để thay thế.
Đối với "dễ nhất",
>> email = '[email protected]'
email =
[email protected]
>> email == '@'
ans =
Columns 1 through 13
0 0 0 0 0 0 0 1 0 0 0 0 0
Columns 14 through 19
0 0 0 0 0 0
>> at = find(email == '@')
at =
8
>> email(1:at-1)
ans =
johndoe
>> email(at+1:end)
ans =
hotmail.com
Nó sẽ là một chút phức tạp hơn nếu bạn đang tìm kiếm một cái gì đó với hơn một ký tự, hoặc bạn đã không chắc chắn nếu có chính xác một @, và trong đó trường hợp MATLAB có rất nhiều chức năng để tìm kiếm thông qua văn bản, bao gồm các biểu thức chính quy (xem doc regexp
).
STRTOK và phẫu thuật chỉ nên làm các trick:
str = '[email protected]';
[name,address] = strtok(str,'@');
address = address(2:end);
Hoặc dòng cuối cùng cũng có thể là:
address(1) = '';
TEXTSCAN làm việc quá.
str = '[email protected]';
parts = textscan(str, '%s %s', 'Delimiter', '@');
trả về mảng ô nơi các phần {1} là 'johndoe' và các phần {2} là 'hotmail.com'.
Bạn có thể sử dụng strread:
str = '[email protected]';
[a b] = strread(str, '%s %s', 'delimiter','@')
a =
'johndoe'
b =
'hotmail.com'
lưu ý: các phiên bản gần đây của MATLAB khuyên bạn nên sử dụng 'textcan' thay vì' strread' – Amro
Chuỗi email = "[email protected]";
String a[] = email.split("@");
String def = null;
String ghi = null;
for(int i=0;i<a.length;i++){
def = a[0];
ghi = a[1];
}
Đây không phải là ngôn ngữ chính xác. – Lukas
Nếu chuỗi này chưa được liệt kê đầy đủ, tôi có thể thêm một chuỗi khác không? Hàm MATLAB dựa trên perl tiện dụng:
email = '[email protected]';
parts = regexp(email,'@', 'split');
phần là mảng ô hai phần tử tương tự như việc thực thi văn bản của mtrw. Có thể quá mức cần thiết, nhưng regexp hữu ích hơn nhiều khi tách một chuỗi bằng nhiều ký tự phân cách hoặc tìm kiếm mẫu. Nhược điểm duy nhất là việc sử dụng các biểu thức thông thường mà tôi vẫn chưa nắm vững sau 15 năm mã hóa.
+1 lạ mà không ai đề cập đến cụm từ thông dụng trong suốt thời gian này :) – Amro
- 1. Chuỗi cắt php ở một ký tự cụ thể
- 2. Xóa ký tự sau ký tự cụ thể trong chuỗi, sau đó xóa chuỗi con?
- 3. Đếm số ký tự cụ thể trong chuỗi
- 4. Số lần một ký tự cụ thể xuất hiện trong một chuỗi
- 5. Cách đếm các bộ ký tự cụ thể trong một chuỗi
- 6. Cách chia chuỗi tại một ký tự cụ thể trong Rebol
- 7. Trong regex, khớp với phần cuối của chuỗi hoặc một ký tự cụ thể
- 8. Thay thế một ký tự bằng một ký tự khác trong một chuỗi trong android?
- 9. cách xóa tất cả các cá thể của một ký tự cụ thể khỏi một chuỗi
- 10. RegEx để biết nếu một chuỗi không chứa một ký tự cụ thể
- 11. Làm cách nào để tìm chỉ mục của một ký tự trong một chuỗi trong C?
- 12. Làm cách nào để xóa các ký tự cụ thể khỏi một Chuỗi cụ thể trong Java?
- 13. Thay thế một ký tự bằng một chuỗi trong LaTeX
- 14. Làm cách nào để thay thế chuỗi con của chuỗi trước một ký tự cụ thể?
- 15. Lặp qua các ký tự trong một chuỗi trong VB.NET
- 16. Chọn một ký tự cụ thể trong một chuỗi và chỉnh sửa nó (trực quan) với Jquery
- 17. Thay thế một ký tự của một chuỗi trong python
- 18. Đếm số kết quả phù hợp của một ký tự cụ thể trong một chuỗi được khớp với một ký tự đại diện regex
- 19. Truy cập một ký tự trong một chuỗi
- 20. Cách xác định xem một chuỗi có chứa nhiều hơn một thể hiện của một ký tự cụ thể không?
- 21. Tìm các từ trong một chuỗi ký tự dài. Tự động mã hóa
- 22. Cách tìm tần suất của các ký tự trong một chuỗi trong Haskell?
- 23. tìm vị trí của một chuỗi con trong một chuỗi
- 24. Làm thế nào để loại bỏ tất cả các ký tự sau một ký tự cụ thể trong python?
- 25. Xuất hiện ký tự trong một đối tượng chuỗi C
- 26. Ruby: Thoát các ký tự đặc biệt trong một chuỗi
- 27. Thêm Apostrophe trong một chuỗi - Matlab
- 28. Notepad ++ Cách xóa tất cả ký tự đứng trước một ký tự cụ thể
- 29. Xóa một ký tự ở một vị trí nhất định trong một chuỗi - javascript
- 30. Twig: Cách lấy ký tự đầu tiên trong một chuỗi
-1. Các câu trả lời khác là tốt hơn ở đây vì chúng cung cấp mã ví dụ. Bạn đã sử dụng 'strtok' và' strrep' như thế nào? Hiển thị ví dụ và tôi sẽ chuyển sang +1. – gary
Đó là một đề nghị tốt. – Richard