Tôi muốn sửa các dấu ba chấm không đúng định dạng (...
) trong một String
.Sửa các dấu ba chấm không đúng định dạng trong một chuỗi
"Hello.. World.."
"Hello... World..." // this is correct
"Hello.... World...."
"Hello..... World....."
tất cả nên được sửa chữa để:
"Hello... World..."
Các regex sau xử lý bất kỳ trường hợp 3 hoặc nhiều hơn liên tiếp .
's:
line.replaceAll("\\.{3,}", "...");
Tuy nhiên, tôi không biết cách xử lý vụ việc khi có chính xác 2 liên tiếp .
của. Chúng ta không thể làm điều gì đó như thế này:
line.replaceAll("\\.{2}", "...");
Ví dụ, đối "..."
, các mã trên sẽ trở lại "......"
, như regex sẽ thay thế đầu tiên 2 .
's (chỉ số 0 và 1), sau đó tiếp theo 2 .
's (chỉ số 1 và 2), kết quả là "..." + "..." = "......"
.
Something như thế này hoạt động:
line.replaceAll("\\.{2}", "...").replaceAll("\\.{3,}", "...");
... nhưng phải có một cách tốt hơn!
Chỉ hai hoặc nhiều khoảng thời gian được thay thế bằng ba? –
Làm thế nào về 'line.replaceAll (" \\. + "," ... ");'? Điều này sẽ thay thế bất kỳ chuỗi dấu chấm nào (ví dụ: '.',' ..', '...', '........') theo trình tự của bạn với '...'. – AndrewMcCoist
Đây là câu hỏi "gimme teh codez". Nó phải được đóng lại – user193661