Lệnh replace các cặp ``` thành thẻ mở đóng <code></code> trong ASP.NET Core

Hướng dẫn thực hiện việc foreach các cặp ``` và tạo thành thẻ mở đóng <code></code> trong ASP.NET Core

  1. Tạo một Action trong một Controller để xử lý yêu cầu GET:
using Microsoft.AspNetCore.Mvc;
using System.Text.RegularExpressions;

public class HomeController : Controller
{
    public IActionResult Index()
    {
        // Chuỗi chứa các cặp ``` với mã nguồn bên trong
        string inputString = "Đây là mã nguồn\n```csharp\nConsole.WriteLine('Hello, world!');\n```";

        // Sử dụng Regex để tìm và thay thế các cặp ``` thành thẻ mở đóng <code></code>
        string outputString = Regex.Replace(inputString, "```([\\s\\S]*?)```", "<code>$1</code>");

        ViewBag.OutputString = outputString;

        return View();
    }
}
  1. Tạo một View (Index.cshtml) để hiển thị chuỗi đã được xử lý:
@{
    ViewData["Title"] = "Home";
}

<h1>Processed Output:</h1>
<div>
    @Html.Raw(ViewBag.OutputString)
</div>

Trong ví dụ trên, chúng ta sử dụng lớp Regex trong System.Text.RegularExpressions để thực hiện việc tìm và thay thế. Biểu thức chính quy "```([\\s\\S]*?)```" được sử dụng để tìm các cặp với bất kỳ nội dung bên trong. `[\s\S]*?` tương tự như trong các ví dụ trước, nó sẽ trùng khớp với bất kỳ ký tự nào, bao gồm cả dòng mới. Khi tìm thấy cặp, chúng ta sử dụng <code>$1</code> để thay thế cặp đó bằng thẻ mở đóng <code></code> và giữ nguyên nội dung bên trong.

Khi truy cập vào URL tương ứng với Action Index, bạn sẽ thấy chuỗi đã được xử lý hiển thị trên trang web.

Bình luận