Tôi đã cố gắng chia chuỗi thành các mảng và thay thế \
bằng \\
, nhưng không thể làm điều đó, tôi cũng đã thử String.replaceAll một cái gì đó như thế này ("\","\\");
. Tôi muốn cung cấp một đường dẫn đến JNI và nó chỉ đọc theo cách này. Ai đó có thể giúp tôi về điều này được không. Cảm ơn bạn.Cách thay thế "" bằng "\" trong java
Trả lời
Không sử dụng String.replaceAll
trong trường hợp này - được chỉ định theo cụm từ thông dụng, có nghĩa là bạn cần thoát hơn nữa. Điều này cần được tốt:
String escaped = original.replace("\\", "\\\\");
Lưu ý rằng những dấu xồ nguợc được tăng gấp đôi do là trong xâu Java - vì vậy các thực tế chuỗi liên quan ở đây là "dấu chéo ngược đơn" và "dấu chéo ngược kép" - chứ không phải tăng gấp đôi và tăng gấp bốn lần.
replace
hoạt động trên các chuỗi đơn giản - không liên quan đến regex.
Tôi muốn cung cấp đường dẫn đến JNI và nó chỉ đọc theo cách này.
Điều đó không đúng. Bạn chỉ cần hai dấu gạch chéo ngược trong chuỗi ký tự mà bạn khai báo bằng ngôn ngữ lập trình. Bạn không bao giờ phải thực hiện thay thế này khi chạy. Bạn cần phải suy nghĩ lại lý do tại sao bạn đang làm điều này.
Bạn có thể sử dụng replaceAll
:
String escaped = original.replaceAll("\\\\", "\\\\\\\\");
p_p Tôi thấy lý do tại sao Jon Skeet nói không sử dụng replaceAll ... Oh Java ... – yarbelk
- 1. Thay thế đơn '\' bằng '\\' trong Java
- 2. thay thế Chuỗi bằng một chuỗi khác trong java
- 3. Thay thế dấu phẩy trong dấu ngoặc đơn bằng cách sử dụng regex trong java
- 4. Thread.Sleep thay thế trong Java
- 5. Thông số URL Java thay thế% 20 bằng không gian
- 6. Thay thế chuỗi ký tự trong java
- 7. Thay thế 'bằng \' trong Ruby?
- 8. Thay thế nhận xét java bằng cách ghi nhật ký trong hoặc trước khi chạy
- 9. Thay thế Eclipse bằng Sublime Text 2/3 cho java
- 10. Thay thế * bằng \ * trong Clojure
- 11. nhóm regexp Java thay thế
- 12. Thay thế 'bằng \' trong C#
- 13. Cách thay thế ký tự cộng bằng cách sử dụng phương thức String.replaceAll của Java
- 14. Làm thế nào để thay thế '/' bằng '\\' bằng cách sử dụng thay thế QString()?
- 15. Java 5 SwingWorker thay thế
- 16. Thay thế cho File.exists() trong Java
- 17. thay thế dấu chấm bằng dấu cách
- 18. Thay thế Đa luồng trong Java
- 19. "Cặp thay thế" trong Java là gì?
- 20. Cách tìm thay thế bằng các nhóm regex trong vim
- 21. Thay thế bằng Regex
- 22. thay thế 0 bằng null trong mysql
- 23. Có thể cập nhật ứng dụng web Java bằng cách thay thế các tệp lớp đơn?
- 24. Các phương án thay thế nhanh hơn để thay thế phương thức trong một chuỗi Java?
- 25. Thay thế "bằng \"
- 26. Thay thế null bằng 0 trong MySQL
- 27. Thay thế 0 bằng NA trong bảng
- 28. Java Regex chỉ thay thế nhiều vùng trắng bằng Dấu cách Không Phá vỡ
- 29. nBuilder thay thế cho Java
- 30. Thay đổi bộ đệm chuột bằng java
Chết tiệt! Skeeted một lần nữa! –
Điều này thêm bốn dấu gạch chéo như thế này \\\ cho tôi –
@Jamesandresakis: Thật khó để nói những gì bạn đang làm sai với rất ít thông tin. Tôi đoán là bạn đang nhìn vào chuỗi trong một trình gỡ lỗi, nơi nó có thể thoát nó cho bạn. –