我正在尝试在字符串中查找一组数字和字母。
这是我正在看的短语:
Rx: RX15046522B Brand: LEVOTHYROXINE SODIUM Generic: LEVOTHYROXINE SODIUM NDC: 00378180001 Barcode: 0378180001 Strength: 25 mcg Form: Tablet Color: orange Marking: Shape: oblong
我想把这个部分变成另一个字符串:
NDC: 00378180001
我该怎么做?
答案 0 :(得分:1)
查看这些页面 - http://msdn.microsoft.com/en-us/library/ms228630%28v=vs.80%29.aspx http://msdn.microsoft.com/en-us/library/system.string.substring%28v=vs.71%29.aspx
使用string.substring是你最好的选择。
答案 1 :(得分:1)
如果它始终是" NDC:[数字]",您可以使用相当简单的正则表达式。
var re = new System.Text.RegularExpressions.Regex(@"NDC\:\s(\d{11})");
var phrase = "Rx: RX15046522B Brand: LEVOTHYROXINE SODIUM Generic: LEVOTHYROXINE SODIUM NDC: 00378180001 Barcode: 0378180001 Strength: 25 mcg Form: Tablet Color: orange Marking: Shape: oblong";
if (re.IsMatch(phrase))
{
var match = re.Match(phrase);
// entire NDC string
context.Response.Write(match.Value);
// just the number
context.Response.Write(match.Groups[1].Value);
}
答案 2 :(得分:1)
所以你正在寻找一个包含3个字母,冒号,空格和11个数字的模式?
正则表达式
[A-Z]{3}\:\s\d{11}
答案 3 :(得分:1)
String S = "Rx: RX15046522B Brand: LEVOTHYROXINE SODIUM Generic: LEVOTHYROXINE SODIUM NDC: 00378180001 Barcode: 0378180001 Strength: 25 mcg Form: Tablet Color: orange Marking: Shape: oblong";
Regex myRegex = new Regex(@"[0-9]+(?:\.[0-9]*)?", RegexOptions.Compiled);
foreach (Match iMatch in myRegex.Matches(S))
{
if (iMatch.Value.Length==11)
{
MessageBox.Show(iMatch.Value);
}
}