Tôi có đoạn code Java sau:Java regex để loại bỏ thẻ XML, nhưng không phải thẻ nội dung
str = str.replaceAll("<.*?>.*?</.*?>|<.*?/>", "");
này biến một String như sau:
How now <fizz>brown</fizz> cow.
Into:
How now cow.
Tuy nhiên, tôi muốn nó chỉ tách các thẻ <fizz>
và </fizz>
hoặc chỉ độc lập </fizz
> thẻ và chỉ để nguyên nội dung của phần tử. Vì vậy, một regex mà sẽ biến trên vào:
How now brown cow.
Hoặc, sử dụng một chuỗi phức tạp hơn, somethng có thể biến:
How <buzz>now <fizz>brown</fizz><yoda/></buzz> cow.
Into:
How now brown cow.
Tôi cố gắng này:
str = str.replaceAll("<.*?></.*?>|<.*?/>", "");
Và điều đó không làm việc chút nào. Bất kỳ ý tưởng? Cảm ơn trước!
thường nếu các thẻ 'xml' và' regex' hiển thị cùng nhau, bạn sẽ nhận được nhận xét, nó nói .... – Kent
Bạn đã thử sử dụng trình phân tích cú pháp XML chưa? Tôi thấy cuộc sống của tôi dễ dàng hơn nhiều với JDOM để phân tích cú pháp XML. –
Tôi không thể đi vào chi tiết mà không rơi vào một backstory rất lớn nhưng thats không thể ở đây (XML Parser). Chỉ cần tìm một giải pháp regex. – IAmYourFaja