c# - 用标签拆分字符串,保留定界符

标签 c# regex

<分区>

我需要一些帮助来编写正则表达式语句来拆分包含一些标签的字符串(不是真正的 HTML,我只是使用 <i><b> 标签来格式化一些文本),并保留分隔符。例如这个字符串:

<b>a bold quote:</b> this is some sample test. How <i>do</i> I do this?

将转换为:

<b>a bold quote:</b>
 this is sample text. How 
<i>do</i>
 I do this?

最佳答案

对于大多数正则表达式风格,您可以通过将拆分表达式放在捕获组中来做一些接近的事情。

new Regex("(<[^>]+>)").Split("test <b>string</b>")

生成包含项目的数组

test  
<b> 
string 
</b> 

(最后是一个空字符串)

如果你想找到标签里面的东西,而且它们绝对没有以任何方式嵌套,你可以这样做

new Regex("(<[^>]+>[^<]*</[^>]+>)").Split("test <b>string</b>")

=

test  
<b>string</b> 

关于c# - 用标签拆分字符串,保留定界符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21567294/

相关文章:

regex - Drupal URL重写冲突

regex - 防止正则表达式中的任何回溯超过特定模式

c# - Summernote 和 MVC c# 中的表单提交

c# - 带有 '@'(在符号处)的 HttpClient 访问 url

r - 从数据框中提取与向量匹配的行,但匹配必须始终位于值中字符串的末尾

python - 将字符串(左右)修剪到最近的单词或句子

MySQL - 查询将 1 个字段的部分内容移动到新字段

c# - Windows 窗体中的字体继承

c# - 如何在 C# 中实例化泛型方法?

c# - Entity Framework - 代码优先 - 无法存储列表 <String>