在我的 ASP.NET 页面中,我有一个字符串(从 SQL db 返回)。我想根据给定的文本位置加粗字符串文本的某些部分。
例如,如果我有一个字符串如下:
"This is an example to show where to bold the text"
我得到字符开始位置:6 和结束位置:7,然后我会在我的字符串中加粗单词“is”,得到:
“这是一个显示在何处加粗文本的示例”
有任何想法吗?
编辑:请记住,我需要使用开始/结束位置,因为字符串中可能有重复的单词。
您可以String.Replace
为此使用方法。
返回一个新字符串,其中当前实例中出现的所有指定字符串都替换为另一个指定字符串。
string s = "This is an example to show where to bold the text".Replace(" is ", " <b>is</b> ");
Console.WriteLine(s);
这是一个DEMO
.
既然你清楚了你想要什么,你就可以使用StringBuilder
类。
string s = "This is an example to show where to bold the text";
var sb = new StringBuilder(s);
sb.Remove(5, 2);
sb.Insert(5, "<b>is</b>");
Console.WriteLine(s);
这是一个DEMO
.
注意:由于您没有将<b>
标签视为输出,这并不意味着它们不存在;)
即从头到尾修改字符串(插入标记):
var result = str.Insert(7, "</b>").Insert(6 - 1, "<b>");
首先在完整字符串中找到要替换的字符串。
将字符串替换为<b>+replacestring+</b>
string str="This is an example to show where to bold the text";
string replaceString="string to replace"
str=str.Replace(replaceString,<b>+replaceString+</b>);
string replaceString=str.Substring(6,2);
str=str.Replace(replaceString,<b>+replaceString+</b>);
子字符串示例: http:
//www.dotnetperls.com/substring
int startPosition=6;
int lastPosition=7;
int lastIndex=lastPosition-startPosition+1;
string str="This is an example to show where to bold the text";
string replaceString=str.Substring(startPosition,lastIndex);
str=str.Replace(replaceString,<b>+replaceString+</b>);
你需要做这样的事情......
**
strStart = MID(str, 0 , 7) ' Where 7 is the START position
str2Replace = "<b>" & MID(str, 8, 10) & "</b>" ' GRAB the part of string you want to replace
str_remain = MId(str, 11, Len(str)) ' Remaining string
Response.write(strStart & str2Replace & str_remain )
**