在Atom中,我正在处理一个巨大的文本文件,并且必须用<li> </li>
包装所有文本行。
例如:
ELECTRICAL PRODUCTS
<li>ELECTRICAL PRODUCTS</li>
谢谢!
答案 0 :(得分:2)
请考虑以下示例数据。
a1sd
1fasd
1fsa
f1sa
f1as
df1
saf1a
sa1
sa
您需要做的就是找到txt文件中使用的分隔符。.假设它是换行符,然后找到\ n并将其替换为</li>\n<li>
..(它可能是\ n或\ r或\ r \ n)
然后输出将为
a1sd</li>
<li>1fasd</li>
<li>1fsa</li>
<li>f1sa</li>
<li>f1as</li>
<li>df1</li>
<li>saf1a</li>
<li>sd1fsf</li>
<li>d1f</li>
<li>sa1</li>
<li>sa
您可以在文件的开头和结尾处手动添加。
<li>a1sd</li>
<li>1fasd</li>
<li>1fsa</li>
<li>f1sa</li>
<li>f1as</li>
<li>df1</li>
<li>saf1a</li>
<li>sd1fsf</li>
<li>d1f</li>
<li>sa1</li>
<li>sa</li>
答案 1 :(得分:2)
看起来您的文本文件中有空行,这很正常。要不将空行转换为<li></li>
格式,您需要使用与纯空行或仅包含空格的行不匹配的正则表达式,因为没有用处只能替换<li>
标记内的空格。您可以更好地使用此正则表达式来匹配非空行。
(\S+(?: +\S+)*)
将整行分组为group1,然后将其替换为<li>$1</li>
如您所见,空行保持不变,<li>
标记中所有非空行均被替换。
希望这对您来说很好。如有任何问题,请通知我。
答案 2 :(得分:0)
使用以下正则表达式模式对内容进行分组和替换:
string li_pattern = @"(?:w+])*+(?<li>[\s\S]*?[;.\n])";
var res = Regex.Replace(text, li_pattern, @"<li>${li}</li>");