2012-02-10 45 views
5

Tương đương với số preg_quote của PHP là gì?Tương đương với preg_quote của PHP là gì?

Đây là như xa như tôi đã nhận được để tạo ra một phương pháp mà trích xuất văn bản từ một chuỗi:

public static string f_get_string_between(string text, string start, string end) 
    { 
     //both these attempts below throw an unrecognized escape sequence error 
     //start = "\Q"+start+"\E"; 
     //end = "\Q"+end+"\E"; 

     Regex regex = new Regex(start + "(.*?)" + end); 
     var v = regex.Match(text); 
     text = v.Groups[1].ToString(); 
     return text; 
    } 

Trả lời

7
+0

Regex.Escape gần nhưng có vẻ như hoạt động hơi khác trong một số trường hợp nhất định. Đặc biệt, nó không thoát khỏi ký tự "]" có thể hoặc không có vấn đề gì. –

0

Không có thay thế trực tiếp cho preg_quote trong C# nhưng bạn có thể viết chức năng của riêng bạn để làm việc đó . Từ hướng dẫn sử dụng PHP, các ký tự được thoát bởi hàm là: . \ + * ? [^] $ () { } = ! < > | : - vì vậy bạn chỉ cần viết một hàm nhận một chuỗi và thoát khỏi bất kỳ ký tự nào trong số các ký tự này.

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