我有一个字符串,它的开头和结尾都有空格。例如:
<para> This is a test paragraph </para>
现在我有一个正则表达式 "(<\\w+[^<>\\/]*> | <\\/\\w+>)"
找到 >
之间的任何开始和结束空格和 <
.
因此,如果我在开头或结尾发现任何空格,或者可能两者都有,我想修剪它。
我该怎么做?
我想到了:
string mainstring = "<para> This is a test paragraph </para>";
string regex1 = "(<\\w+[^<>\\/]*> | <\\/\\w+>)";
string regex2 = "(<\\w+[^<>\\/]*>|<\\/\\w+>)";
mainstring = Regex.replace(mainstring, regex1, regex2);
但这行不通。
此外,我的字符串包含多行。
string mainstring = "<para> This is a test paragraph </para>";
string regex1 = "(<\\w+[^<>\\/]*> | <\\/\\w+>)";
mainstring = Regex.replace(mainstring, regex1, "");
但这会删除所有找到的值并将其替换为 ""
.
主要输入: "<para> This is a test paragraph </para>"
预期输出: "<para>This is a test paragraph</para>"
最佳答案
我认为最简单的方法是提取标签之间的文本,然后对该文本使用 Trim()
方法:
var mainstring = "<para> This is a test paragraph </para>";
// First index of >
var start = mainstring.IndexOf(">") + 1;
var prefix = mainstring.Substring(0, start);
// Last index of <
var end = mainstring.LastIndexOf("<") - 1;
var suffix = mainstring.Substring(end + 1);
mainstring = prefix + mainstring.Substring(start, end - start + 1).Trim() + suffix;
不需要使用正则表达式
关于c# - 如何修剪空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55530447/