Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从字符串中查找支持票证号_C#_.net - Fatal编程技术网

C# 从字符串中查找支持票证号

C# 从字符串中查找支持票证号,c#,.net,C#,.net,我正在创建一个自定义pop客户端,在该客户端中,我将获得一个“不”主题,如: 主题:戴尔灵感4#1989768733736的价格是多少 请尽快答复 其中,#1989768733736是票号。如何从字符串中获取编号。使用: string str="#1989768733736"; int no; no=convert.ToInt64(str.subtring(1,13)); 订单号长度未定义: 编辑: 订单号的定义长度: 好的,如果您的所有数字都在#字符之后,并且这些数字总是在第一个#字符之后,

我正在创建一个自定义pop客户端,在该客户端中,我将获得一个“不”主题,如:


主题:戴尔灵感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));