2013-02-26 25 views
5

Có cách nào đơn giản để sử dụng Bộ tách phân luồng để tách một chuỗi và giữ lại các dấu phân tách mà không sử dụng regex không?Làm thế nào để sử dụng Guavas Splitter và giữ lại delimiters (không có regex)?

Something như

String string = "1+2-3*40"; 
Splitter splitter = Splitter.on(CharMatcher.DIGIT.negate()).retainDelimiters(); 

Điều đó cho

[1, +, 2, -, 3, *, 40] 

tôi biết về Splitter.onpattern() nhưng điều đó sẽ yêu cầu tôi cung cấp cho nó một biểu thức chính quy (chưa thats những gì đang cố gắng để tránh).

Trả lời

1

Tôi không nghĩ rằng nó có thể được thực hiện trong ổi ngay bây giờ nhưng bạn có thể submit a feature request. BTW những gì sẽ là đầu ra cho "1+3**2"? Tôi nghĩ mô hình sẽ rõ ràng ở đây.

Các vấn đề liên quan