Php thay thế dấu gạch chéo ngược kép bằng dấu gạch chéo ngược đơn

Dấu gạch chéo ngược có một ý nghĩa đặc biệt trong Python, vì vậy mỗi dấu gạch chéo ngược phải được thoát bằng một dấu gạch chéo ngược khác

Nếu bạn cần thay dấu gạch chéo ngược đơn bằng dấu gạch chéo ngược kép, hãy cuộn xuống tiêu đề phụ tiếp theo

Chúng tôi đã sử dụng phương pháp str.replace() để thay thế dấu gạch chéo ngược kép bằng dấu gạch chéo ngược đơn

Ký tự dấu gạch chéo ngược \ có ý nghĩa đặc biệt trong Python - nó được sử dụng làm ký tự thoát (e. g. \n hoặc \t)

Bằng cách thêm dấu gạch chéo ngược thứ hai, chúng tôi coi dấu gạch chéo ngược (\) là một ký tự chữ

Để có hai dấu gạch chéo ngược cạnh nhau, chúng ta phải sử dụng bốn ký tự gạch chéo ngược

Phương thức trả về một bản sao của chuỗi với tất cả các lần xuất hiện của chuỗi con được thay thế bằng chuỗi thay thế được cung cấp

Phương thức nhận các tham số sau

TênMô tảcũChuỗi con chúng tôi muốn thay thế trong chuỗi mớiSự thay thế cho mỗi lần xuất hiện của oldđếm Chỉ những lần xuất hiện đầu tiên của count được thay thế (tùy chọn)

Phương thức không thay đổi chuỗi gốc. Các chuỗi là bất biến trong Python

Nếu bạn cần xử lý một chuỗi thoát, hãy sử dụng phương pháp bytes.decode()

Chúng tôi đã sử dụng lớp new_string = string.replace('\\\\', '\\')0 để chuyển đổi chuỗi thành đối tượng bytes và sau đó sử dụng phương thức bytes.decode() để giải mã đối tượng bytes thành chuỗi có mã hóa new_string = string.replace('\\\\', '\\')2

Nếu bạn có quyền truy cập vào biến đã khai báo chuỗi, bạn có thể đánh dấu biến đó là chuỗi thô

Các chuỗi có tiền tố là new_string = string.replace('\\\\', '\\')3 được gọi là chuỗi thô và coi dấu gạch chéo ngược là ký tự chữ

Chúng ta không phải thoát khỏi dấu gạch chéo ngược trong chuỗi thô

Nếu bạn cần sử dụng các biến trong một chuỗi thô, hãy sử dụng một chuỗi ký tự được định dạng

Các chuỗi ký tự được định dạng (chuỗi f) cho phép chúng tôi bao gồm các biểu thức bên trong chuỗi bằng cách thêm tiền tố vào chuỗi bằng new_string = string.replace('\\\\', '\\')4

Ashley Sheridan

2010-03-15 19. 30. 58 UTC

liên kết cố định



Bất kỳ ai cũng có mẫu biểu thức chính quy để xóa nhiều dấu gạch chéo ngược e. g. , \\\\\\\
Tôi khá giỏi với regex;
Tôi đã thử "\\\\" như hướng dẫn nói
preg_replace("/\\\\/", '', $str);
preg_replace("/(\\\\)+/", '', $str);
preg_replace("/\x5C/", '', $str);
preg_replace("/\\x5c/", '', $str);
Và rất nhiều người khác
striplashes() và stripcslashes() bị giới hạn

$str = 'văn bản\\dfnfg\\dhdsg\\\\';
echo preg_replace('/\\\{2,}/', '', $str);
Tôi nghĩ điều khiến bạn không hiểu là bạn đang thoát khỏi \
một lần cho biểu thức chính quy, nhưng sau đó nó lại cần nó vì nó nằm trong
chuỗi trích dẫn đơn, có nghĩa là tổng cộng 3 dấu gạch chéo. Đưa tôi một chút
trong khi để tìm ra điều đó là tốt
Phần {2,} chỉ yêu cầu nó chỉ xóa các dấu gạch chéo ở những nơi chúng
xảy ra trong chạy của hai hoặc nhiều

Tôi đồng ý, nó sẽ hoạt động;
Hầu hết mọi thứ có vẻ hợp lý đều hoạt động trong The Regex Coach,
bao gồm cả bạn gợi ý
Tôi bắt đầu nghĩ rằng có lỗi trong công cụ biểu thức chính quy;
nhìn chưa. Mặc dù vậy, điều đó đáng nghi ngờ vì lỗi sẽ tồn tại
mã số


Thanks,
Tro
http. //www. Ashleysheridan. đồng. vương quốc anh

Tôi đã thử mã mà tôi vừa cung cấp cho bạn và nó đang hoạt động, vì vậy tôi không chắc nữa
bạn đang gặp vấn đề gì với nó?

Thanks,
Tro
http. //www. Ashleysheridan. đồng. vương quốc anh

james stojan

2010-03-15 20. 09. 02 UTC

liên kết cố định

Kiểm tra kỹ mã của bạn, tôi đã đưa ra giải pháp tương tự như Ash đã làm và nó
làm việc tốt trong Wamp

Vào Thứ Hai, ngày 15 tháng 3 năm 2010 lúc 3. 30 giờ chiều, Ashley Sheridan




Bất kỳ ai cũng có mẫu biểu thức chính quy để xóa nhiều dấu gạch chéo ngược e. g. ,

\\\\\\\



Tôi khá giỏi với regex;

preg_replace()



Tôi đã thử "\\\\" như hướng dẫn nói
preg_replace("/\\\\/", '', $str);
preg_replace("/(\\\\)+/", '', $str);
preg_replace("/\x5C/", '', $str);
preg_replace("/\\x5c/", '', $str);
Và rất nhiều người khác
striplashes() và stripcslashes() bị giới hạn

$str = 'văn bản\\dfnfg\\dhdsg\\\\';
echo preg_replace('/\\\{2,}/', '', $str);
Tôi nghĩ điều khiến bạn không hiểu là bạn đang thoát khỏi \
một lần cho biểu thức chính quy, nhưng sau đó nó lại cần nó vì nó nằm trong
chuỗi trích dẫn đơn, có nghĩa là tổng cộng 3 dấu gạch chéo. Đưa tôi một chút
trong khi để tìm ra điều đó là tốt
Phần {2,} chỉ yêu cầu nó chỉ xóa các dấu gạch chéo ở những nơi chúng
xảy ra trong chạy của hai hoặc nhiều

Tôi đồng ý, nó sẽ hoạt động;
Hầu hết mọi thứ có vẻ hợp lý đều hoạt động trong The Regex Coach,
bao gồm cả bạn gợi ý
Tôi bắt đầu nghĩ rằng có lỗi trong công cụ biểu thức chính quy;
nhìn chưa. Mặc dù vậy, điều đó đáng nghi ngờ vì lỗi sẽ tồn tại
mã số


Thanks,
Tro
http. //www. Ashleysheridan. đồng. vương quốc anh

Tôi đã thử mã mà tôi vừa cung cấp cho bạn và nó đang hoạt động, vì vậy tôi không chắc nữa
bạn đang gặp vấn đề gì với nó?
Thanks,
Tro
http. //www. Ashleysheridan. đồng. vương quốc anh

Al

2010-03-15 20. 17. 14 UTC

liên kết cố định




Bất kỳ ai cũng có mẫu biểu thức chính quy để xóa nhiều dấu gạch chéo ngược e. g. , \\\\\\\
Tôi khá giỏi với regex;
Tôi đã thử "\\\\" như hướng dẫn nói
preg_replace("/\\\\/", '', $str);
preg_replace("/(\\\\)+/", '', $str);
preg_replace("/\x5C/", '', $str);
preg_replace("/\\x5c/", '', $str);
Và rất nhiều người khác
striplashes() và stripcslashes() bị giới hạn

$str = 'văn bản\\dfnfg\\dhdsg\\\\';
echo preg_replace('/\\\{2,}/', '', $str);
Tôi nghĩ điều khiến bạn không hiểu là bạn đang thoát khỏi \
một lần cho biểu thức chính quy, nhưng sau đó nó lại cần nó vì nó nằm trong
chuỗi trích dẫn đơn, có nghĩa là tổng cộng 3 dấu gạch chéo. Đưa tôi một chút
trong khi để tìm ra điều đó là tốt
Phần {2,} chỉ yêu cầu nó chỉ xóa các dấu gạch chéo ở những nơi chúng
xảy ra trong chạy của hai hoặc nhiều

Tôi đồng ý, nó sẽ hoạt động;
Hầu hết mọi thứ có vẻ hợp lý đều hoạt động trong The Regex Coach,
bao gồm cả bạn gợi ý
Tôi bắt đầu nghĩ rằng có lỗi trong công cụ biểu thức chính quy;
nhìn chưa. Mặc dù vậy, điều đó đáng nghi ngờ vì lỗi sẽ tồn tại
mã số


Thanks,
Tro
http. //www. Ashleysheridan. đồng. vương quốc anh

Tôi đã thử mã mà tôi vừa cung cấp cho bạn và nó đang hoạt động, vì vậy tôi không chắc nữa
bạn đang gặp vấn đề gì với nó?
Thanks,
Tro
http. //www. Ashleysheridan. đồng. vương quốc anh

Cảm ơn mọi người rất nhiều. Đôi khi nó hữu ích khi người khác xác nhận
một cái gì đó phải làm việc

Vấn đề là tôi đã có một loạt các kiểm tra dọn dẹp và bảo mật trên một mảng POST
và vô tình sử dụng mảng POST ban đầu ở một trong các bước sau
bước xóa dấu gạch chéo ngược, vì vậy rõ ràng là nó không hoạt động

--
Danh sách gửi thư chung PHP (http. //www. php. net/)
Để hủy đăng ký, hãy truy cập. http. //www. php. mạng/hủy đăng ký. php

Al

2010-03-16 15. 23. 46 UTC

liên kết cố định



Bất kỳ ai cũng có mẫu biểu thức chính quy để xóa nhiều dấu gạch chéo ngược e. g. , \\\\\\\
Tôi khá giỏi với regex;
Tôi đã thử "\\\\" như hướng dẫn nói
preg_replace("/\\\\/", '', $str);
preg_replace("/(\\\\)+/", '', $str);
preg_replace("/\x5C/", '', $str);
preg_replace("/\\x5c/", '', $str);
Và rất nhiều người khác
striplashes() và stripcslashes() bị giới hạn

Tôi có thể hỏi, làm thế nào nhiều dấu gạch chéo được tạo ra ngay từ đầu?
Dữ liệu đến từ đâu?
câu hỏi tiếp theo sẽ là. Bạn có muốn loại bỏ hoàn toàn tất cả các phiên bản của
nhiều dấu gạch chéo ngược?
dấu gạch chéo ngược với một dấu gạch chéo ngược duy nhất?
$in = '\\\as\\\\asdf\\\asdf\asdf\\\\\asdf\\\\\asdf';
# để xóa tất cả các dấu gạch chéo ngược, hãy sử dụng cái này
tiếng vang preg_replace('. [\\\\]+. ', '', $in). PHP_EOL;
# để xóa tất cả các dấu gạch chéo ngược, hãy sử dụng cái này
echo str_replace('\\', '', $in). PHP_EOL;
# để thay thế các dấu gạch chéo ngược liên tiếp bằng một dấu gạch chéo ngược
tiếng vang preg_replace('. [\\\\]+. ', '\\', $in). PHP_EOL;
?>
xong

Như tôi đã báo cáo trước đó, vấn đề là mã của tôi đang tải lại một mảng POST sau
loại bỏ phản ứng dữ dội. Lỗi ngớ ngẩn về phía tôi

Lại. "Tôi có thể hỏi, làm thế nào nhiều dấu gạch chéo được tạo ra trong lần đầu tiên
nơi?
người dùng có thể nhập chúng theo ý muốn. Đó là thông lệ tiêu chuẩn của tôi để làm tốt công việc
bảo vệ người dùng khỏi chính họ. Ban đầu tôi chỉ có các dấu gạch chéo thông thường ()
nhưng nhận thấy nó không quan tâm đến việc người dùng thêm một số

--
Danh sách gửi thư chung PHP (http. //www. php. net/)
Để hủy đăng ký, hãy truy cập. http. //www. php. mạng/hủy đăng ký. php

Làm cách nào để thay thế dấu gạch chéo kép bằng dấu gạch chéo đơn trong PHP?

Bạn cũng có thể sử dụng str_replace ít tốn kém hơn trong trường hợp này. $newstr = str_replace('\\\\', '\\', $mystr); Cách tiếp cận này tốn ít thời gian và bộ nhớ hơn cho CPU vì nó .

Làm cách nào để thay thế dấu gạch chéo ngược kép bằng dấu gạch chéo ngược đơn trong Java?

myString. replace("\\\\", "\\");