我正在使用帶有占位符標簽([[tagname]])的文本編輯器編寫文檔創建器。我需要能夠將 HTML 文本發送給閱讀器,該閱讀器將找到每個占位符并將其替換為 API 調用的響應文本。我讓閱讀器服務接受 HTML 文本,并嘗試拆分 (" ") 來分隔每個單詞,通過 for 循環運行單詞并調用 ("[[", "]] 上的 .Between 服務擴展方法") 來查找占位符。然后,我對其找到的占位符進行切換,并調用閱讀器服務中的方法來進行 API 調用。問題是最終結果是一個空字符串。我不確定我錯過了什么。 public string ReadForm(FormViewModel formModel) { var form = ""; var formText = formModel.FormText; formText.Split(" "); for (int i = 0; i < formText.Length; i++) { var formTextIndex = formText[i].ToString(); var formTagItem = formTextIndex.Between("[[", "]]"); if (formTagItem.ToString() != null) { switch (formTagItem) { case "placeholder1": formTagItem = GetItems1(formModel.ID); form += $"{formTagItem} "; break; case "placeholder2": formTagItem = GetItems2(formModel.ID); form += $"{formTagItem} "; break; case "placeholder3": formTagItem = GetItems3(formModel.ID); form += $"{formTagItem} "; break; case "placeholder4": formTagItem = GetItems4(formModel.ID); form += $"{formTagItem} "; break; default: form += $"{formTagItem} "; break; } } else { form += $"{formText[i]} "; } } return form; }我對表單的預期結果是占位符將替換為返回值,然后在 HTML 文本中替換。
1 回答

米琪卡哇伊
TA貢獻1998條經驗 獲得超6個贊
查找/替換可能就是您正在尋找的。
使用語句:
using System.Text.RegularExpressions;
方法:
public string ReadForm(FormViewModel formModel)
{
string formText = formModel.FormText;
formText = formText.Replace("[[placeholder1]]", GetItems1(formModel.ID));
formText = formText.Replace("[[placeholder2]]", GetItems2(formModel.ID));
formText = formText.Replace("[[placeholder3]]", GetItems3(formModel.ID));
formText = formText.Replace("[[placeholder4]]", GetItems4(formModel.ID));
formText = Regex.Replace(formText, @"\[\[(.*?)\]\]", "$1");
return formText;
}
Regex.Replace完成默認塊的功能:用標簽內的名稱替換標簽內的任何內容。
- 1 回答
- 0 關注
- 128 瀏覽
添加回答
舉報
0/150
提交
取消