【发布时间】:2011-05-01 16:30:58
【问题描述】:
我可以使用一些正确的正则表达式帮助将以下字符串解析为 3 个变量。 cmets 说// TODO: 的部分是我需要正则表达式帮助的地方。现在我刚刚分配了一个静态值,但需要用解析示例文本的真实正则表达式替换它。谢谢!
// This is what a sample text will look like.
var text = "Cashpay @username 55 This is a sample message";
// We need to parse the text into 3 variables.
// 1) username - the user the payment will go to.
// 2) amount - the amount the payment is for.
// 3) message - an optional message for the payment.
var username = "username"; // TODO: Get the username value from the text.
var amount = 55.00; // TODO: Get the amount from the text.
var message = "This is a sample message"; // TODO: Get the message from the text.
// now write out the variables
Console.WriteLine("username: " + username);
Console.WriteLine("amount: " + amount);
Console.WriteLine("message: " + message);
【问题讨论】:
-
你试过了吗?有很多构建正则表达式的好工具,例如Expresso 或Regex Buddy。
-
我在正则表达式方面遇到了挑战 :-) 我一直在做类似 text.substring(0, text.indexOf('@'....想看看。我正在寻找真正擅长这些东西的人的一些干净的表达方式。
-
我链接的工具可以帮助您构建表达式,通过使用它们,您在解析这些简单字符串时应该没有问题。我更喜欢正则表达式而不是“手动”解析,因为这允许您以声明方式定义要匹配的模式,而不是强制搜索部分;因此,您可以使用正则表达式“免费”获得输入验证(如果模式不匹配,则输入无效)。
标签: c# .net regex text-parsing