Tôi đang làm việc với các sên cho thuốc nổ, ý tưởng là: Tôi có một chuỗi với [a-zA-Z0-9]
các từ được phân tách bằng dấu gạch nối. Giống như:Làm thế nào để cắt ngắn một chuỗi trong elixir?
string = "another-long-string-to-be-truncated-and-much-text-here"
Tôi muốn đảm bảo rằng chiều dài chuỗi tối đa bằng 30, nhưng tôi cũng muốn chắc chắn rằng các từ không bị cắt một nửa khi đạt đến độ dài tối đa. Vì vậy, 30 ký hiệu đầu tiên của string
là another-long-string-to-be-trun
nhưng tôi muốn có another-long-string-to-be
với từ truncated
để được xóa hoàn toàn. Làm thế nào tôi có thể làm điều đó?
Có một lỗi nhỏ ở đây: nếu chuỗi gốc chứa một từ dài hơn 30 ký tự, từ gốc được trả về. Điều này dẫn đến một chuỗi dài hơn 30 ký tự, tôi cho rằng nó sẽ trả về một chuỗi rỗng để thay thế. –
@PatrickOscity nó hiện trả về từ này cắt ngắn đến 30 điểm. Trả về một chuỗi rỗng _as a slug_ nghe như một ... uhm thiết kế kém cho tôi. – mudasobwa
vâng, đó là sự thật cho một con sên :) –