每隔一个实例查找并替换

时间:2014-07-07 20:29:39

标签: html vb.net replace

所以,我有一个生成的字符串,其中包含标题,然后是描述。

示例:

Item1 Description1 Item2 Description2
等等......

我想要很好地格式化这些,例如:

Item1
Description1

Item 2
Description2

回车符正由<br />替换为HTML格式。

我有以下代码用<br /><br />标签替换每个回车。

'//Replace return key with <br />\\ + Debugger
Dim errString As String = EmailBody.ToString

FrmDebug.Label1.Text = "Original String: "
FrmDebug.TextBox1.Text = errString

' Correct the spelling of "document".   
Dim correctString As String = errString.Replace(ChrW(Keys.Return), "<br />")

FrmDebug.Label2.Text = "Corrected String: "
FrmDebug.TextBox2.Text = correctString
'\\Replace return key with <br />//

但是,我想知道如何使用1 <br />以及使用2 <br /><br />的每个奇数实例替换此实例,以正确使用此格式。

有人可以帮帮我吗?

我希望这是有道理的。感谢

1 个答案:

答案 0 :(得分:0)

你在这里有一些选择,例如你可能用正则表达式做一些事情,但我只是走简单的路线并使用循环。我是一名C#家伙,但我相信你能够理解这一点,以便做同等的VB:

string arg = "Item1\rDescription1\rItem2\rDescription2";
StringBuilder ret = new StringBuilder();
bool isSecond = false;
for(int chIndex = 0; chIndex < arg.Length; chIndex++)
{
    char ch = arg[chIndex];

    if(ch == '\r')
    {
        ret.Append("<br />");

        if (isSecond)
            ret.Append("<br />");

        isSecond = !isSecond;
    }
    else
    {
        ret.Append(ch);
    }
}

我注意到您的原始示例未在“Item1 Description1 ...”中包含那些回车,因此我根据您的其余问题添加了它们。如果你的意思不同,请告诉我。