如何使用特殊字符作为起点修剪字符串

时间:2013-09-30 12:04:43

标签: c# string trim

我想用$作为起点修剪一个字符串意味着我的字符串包含2个$符号我想修剪并删除第二个$之前的整个字符串。 示例字符串在

下面

第一个字符串:

1 max CPC change(s)
time warner cable: Max CPC decreased from $2.25 to $1.50

这是我的字符串我想修剪它只得到" $ 1.50"

第二个字符串

 Mobile Highend: Platform bid adjustment changed from +0% to +15%

修剪只获得+ 15%

 change = source[4]

这是填充我的模型属性的地方。我应该如何在c#

中修剪它

5 个答案:

答案 0 :(得分:1)

Regex将处理这两个结果:

var result = from Match match in Regex.Matches(line, ".*to (.*)") 
             select match.ToString();
  

1次最高CPC变化

     时代华纳有线电视:最高每次点击费用从2.25美元降至1.50美元

$1.50

中的结果
  

Mobile Highend:平台出价调整从+ 0%变为+ 15%

+15%

中的结果

答案 1 :(得分:0)

第一个字符串使用LastIndexOf("$"),第二个字符串使用LastIndexOf("+")

答案 2 :(得分:0)

使用:

        var str = "1 max CPC change(s)\ntime warner cable: Max CPC decreased from $2.25 to $1.50";
        var str1 = str.Substring(str.IndexOf("$") + 1);
        var str2 = str1.Substring(str1.IndexOf("$"));
        Console.WriteLine(str2);

        var str10 = "Mobile Highend: Platform bid adjustment changed from +0% to +15%";
        var str11 = str10.Substring(str10.IndexOf("%"));
        var str12 = str11.Substring(5);
        Console.WriteLine(str12);

答案 3 :(得分:-1)

如果不使用Regex,您可以非常轻松地使用LastIndexOf

string s = "time warner cable: Max CPC decreased from $2.25 to $1.50";
int index = s.LastIndexOf("$");
if (index > 0)
{
    s = s.Substring(index);
}
Console.WriteLine(s); // $1.50

答案 4 :(得分:-1)