我试图抓住我需要的一部分字符串,但我不需要其余部分(对于这一部分)
基本上,字符串看起来像这样:
This item costs $1.99
我需要在其他地方进行完整描述,但在代码中的一个特定部分,我需要它只显示$
之后的任何内容,以便它只打印出来
$1.99
我不知道该怎么做,我可以得到一些帮助吗?
答案 0 :(得分:6)
您可以使用Substring
和IndexOf
方法的组合,例如;
var s = "This item costs $1.99";
int index = s.IndexOf("$");
Console.WriteLine(s.Substring(index)); // $1.99
基本上,我们在字符串中找到了第一个$
字符的索引号,并从该位置开始获取该字符串的其余部分。
答案 1 :(得分:3)
你在这里。使用正则表达式:
\$
代表$ sign,\d
代表数字,\d+
代表1位或更多位数,\.
代表
var input = "This item costs $1.99 and $0.5 for tax";
var matches = Regex.Matches(input, @"\$\d+\.\d+");
for(var i = 0; i < matches.Count; i++) {
Console.WriteLine(matches[i].Value); // $.199, $0.5
}
希望这有帮助。
答案 2 :(得分:1)
string ls = "This item costs $1.99"
dollarvalue = "$" + ls.split('$').Last();
答案 3 :(得分:0)
如果您只想在$
之后匹配所有内容public string GetSubstring(string value) {
Regex regex = new Regex("\$.*");
return regex.Match(value);
}