C#在特定位置打破字符串

时间:2015-03-09 16:16:39

标签: c# string

我有一根绳子,例如:冰淇淋2x 2,35€
我怎样才能从字符串中获得价格?一种方法是获得最后4个字符,但没有必要只有4个数字,价格也可以(12,12 ......)。

我需要一种从字符串后面到第一个空格的方法,但是如何?

4 个答案:

答案 0 :(得分:4)

您可以使用此正则表达式:

(.*?)\d+\s*x\s*\d+(,\d+)?
  • 第一部分(.*?)采用产品名称
  • \d+获取金额
  • \d+(,\d+)?收取价格(可能仅2,但也允许2,35
    • 介于两者之间的\s*是占用帐户空格

您可以使用Regex.Match来获取值。

答案 1 :(得分:2)

string s = "Ice cream 2x 2,35€";

MessageBox.Show(s.Substring(s.LastIndexOf(' ')));

应该工作

String.LastIndexOf

是您查找最后一个空格所需的内容。

答案 2 :(得分:1)

您可以使用String.LastIndexOf(https://msdn.microsoft.com/de-de/library/0w96zd3d%28v=vs.110%29.aspx)和Substring

代码:

 var pos = aa.LastIndexOf(' ')
 var part = aa.Substring(pos)

答案 3 :(得分:0)

你有没有围绕这个主题做过google?您可以使用各种选项,从内置字符串方法到正则表达式。

根据您在问题中的想法,我会从这个链接开始:String.LastIndexOf