C# 如何在$10和$50.58下面划线

C# 如何在$10和$50.58下面划线,c#,asp.net,C#,Asp.net,所有顾客在ccc.com的家居装潢50.58美元中减去10美元 电器及户外用品店!有效期至2012年5月31日” 我从db获得的字符串类型高于此类型,该字符串可能包含也可能不包含$。如果它包含$,则$后面的数字应加下划线。该字符串是完全动态的。它也可能不包含$,请尝试使用正则表达式: Regex.Replace(str, @"(?<=\$)\d+(\.\d+)?", "<u>$0</u>"); 这取决于您将文本放入的封闭元素:如果它也是span,则无法嵌套它们,因

所有顾客在ccc.com的家居装潢50.58美元中减去10美元 电器及户外用品店!有效期至2012年5月31日”

我从db获得的字符串类型高于此类型,该字符串可能包含也可能不包含$。如果它包含$,则$后面的数字应加下划线。该字符串是完全动态的。它也可能不包含$,请尝试使用正则表达式:

Regex.Replace(str, @"(?<=\$)\d+(\.\d+)?", "<u>$0</u>");

这取决于您将文本放入的封闭元素:如果它也是
span
,则无法嵌套它们,因此必须关闭第一个元素(只需在替换字符串(第三个参数)的开头粘贴
,在末尾粘贴
)以上面的例子为例,使用span…一些比regex更容易阅读的方法就是indexOf方法

        string s = "$10";
        string t =  (s.IndexOf('$') > 0) ? "<span style=\"text-decoration: underline\">#</span>".Replace("#",s):"<span>{0}</span>".Replace("#",s);
string s=“$10”;
字符串t=(s.IndexOf(“$”)>0)?“#”。替换(“#”,s):“{0}”。替换(“#”,s);

数字是出现在任何特定单词之前还是之后?如果不是,您是直接从数据库中提取这些数字,还是从数据库中获取整个字符串?我相信您是在标签或其他东西中显示整个文本,如果是这样的话,您就不能。您可以将10美元存储在单独的标签中并将其绑定你听说过正则表达式吗?为什么不在生成元素的时候添加一个元素,然后在其中添加一个css类呢?这会更简单。整个字符串都来自db
Regex.Replace(str, @"(?<=\$)\d+(\.\d+)?", 
  "<span style=""text-decoration: underline"">$0</span>");
        string s = "$10";
        string t =  (s.IndexOf('$') > 0) ? "<span style=\"text-decoration: underline\">#</span>".Replace("#",s):"<span>{0}</span>".Replace("#",s);