C# 根据特定字符或长度操纵razor中的字符串

C# 根据特定字符或长度操纵razor中的字符串,c#,string,asp.net-core,razor,C#,String,Asp.net Core,Razor,我希望根据特定的条件以Razor语法操作字符串。字符串值的长度未知,但某些字符有助于确定何时将其拆分 例如,如果我有“健康与安全课程”,我想打印出来 <span>Health &</span> <span>Safety Courses</span> <span>Safety courses</span> <span>at work</span> <span>Health and

我希望根据特定的条件以Razor语法操作字符串。字符串值的长度未知,但某些字符有助于确定何时将其拆分

例如,如果我有“健康与安全课程”,我想打印出来

<span>Health &</span>
<span>Safety Courses</span>
<span>Safety courses</span>
<span>at work</span>
<span>Health and safety</span>
<span>Is our number one priority</span>
<span>in the workplace</span>
健康&
安全课程
如果我有“工作安全课程”,我想打印出来

<span>Health &</span>
<span>Safety Courses</span>
<span>Safety courses</span>
<span>at work</span>
<span>Health and safety</span>
<span>Is our number one priority</span>
<span>in the workplace</span>
安全课程
工作中
请注意“\n”以创建新的跨度图元并关闭旧的跨度图元

如果有一句很长的话,比如“健康和安全是我们工作场所的头等大事”

我想打印出来

<span>Health &</span>
<span>Safety Courses</span>
<span>Safety courses</span>
<span>at work</span>
<span>Health and safety</span>
<span>Is our number one priority</span>
<span>in the workplace</span>
健康与安全
我们的首要任务是什么
在工作场所
请注意,当字符长度较长时,它会将其拆分为块

我对razor还相当陌生,不确定如何处理这个问题。我尝试过使用Split(),但它删除了我正在搜索的字符,我也尝试过根据字符串长度计算字符数,但效果也不太好

非常感谢您的帮助。

您可以使用
replace()
而不是
Split()
。下面是一个演示:

html:


js:

$(函数(){
var s=“健康与安全课程”;
s=”“+s.替换(“&”、“&”)+”;
$(“#myDiv”).html;
})
结果:

定义块的规则是什么?但更重要的是,你想要实现什么?这样你就可以强制一个句子可以换行吗?