C# 从字符串中查找支持票证号
我正在创建一个自定义pop客户端,在该客户端中,我将获得一个“不”主题,如:C# 从字符串中查找支持票证号,c#,.net,C#,.net,我正在创建一个自定义pop客户端,在该客户端中,我将获得一个“不”主题,如: 主题:戴尔灵感4#1989768733736的价格是多少 请尽快答复 其中,#1989768733736是票号。如何从字符串中获取编号。使用: string str="#1989768733736"; int no; no=convert.ToInt64(str.subtring(1,13)); 订单号长度未定义: 编辑: 订单号的定义长度: 好的,如果您的所有数字都在#字符之后,并且这些数字总是在第一个#字符之后,
主题:戴尔灵感4#1989768733736的价格是多少 请尽快答复 其中,#1989768733736是票号。如何从字符串中获取编号。使用:
string str="#1989768733736";
int no;
no=convert.ToInt64(str.subtring(1,13));
订单号长度未定义:
编辑:
订单号的定义长度:
好的,如果您的所有数字都在#
字符之后,并且这些数字总是在第一个#
字符之后,您可以使用类似的字符
您可以使用正则表达式匹配
字符后面的任何数字,例如#(?\d+
仅捕获数字,或\d+
捕获前缀和数字。这将捕获票证号码作为命名组“票证”:
Regex的性能和内存增益在高流量或高容量情况下非常重要,如处理状态电子邮件、日志条目、系统响应,即使它们看起来更复杂,也应优先考虑。主题:Dell Inspiration 4的价格是多少?1989768733736请尽快回复 其中#1989768733736是票号。如何从字符串中获取票号
string str="#1989768733736";
int no;
no=convert.ToInt64(str.subtring(1,13));
你尝试过什么?使用正则表达式,看:这看起来像是我们的任务。您是否尝试过搜索任何示例、教程以及如何解析字符串?
string str=“Dell Inspiration 4的价格是多少#1989768733736请尽快回复”;字符串ss=str.Substring(str.IndexOf(“#”)+1,14)代码>它可以是一个数字,有时可能是100个数字。这里有三个问题,模式将匹配单个
字符,模式捕获前缀和票号,最后,应该使用数字类\d
匹配数字。@panagiotis kanavos感谢您的评论。订单号应始终具有相同的长度。编辑了我的答案,这样正则表达式就不会匹配单个或长度不合适的数字
string s = "What is the Price of Dell Inspiration 4 #1989768733736 Please reply as soon as possible";
int index = s.IndexOf("#");
s = s.Substring(index);
string number = s.Split(null)[0];
Console.WriteLine(number); // #1989768733736
var regex = new Regex(@"#(?<ticket>\d+)");
var subject="What is the Price of Dell Inspiration 4 #1989768733736 Please reply as soon as possible";
var ticket=regex.Match(subject).Groups["ticket"].Value;
var match=regex.Match(subject);
if (match.Success)
{
var ticket = match.Groups["ticket"].Value;
...
}
string str="#1989768733736";
int no;
no=convert.ToInt64(str.subtring(1,13));