子串支票可以说我有一个列表,该列表由鸣叫填充两个例子如下:有两种可能性
Tweet 1 = RT @randomuser_: what you saying
Tweet 2 = @randomusertwo hello this is a tweet
正如你可以鸣叫一个和两个看到有两种可能,要么结束与冒号或空间。我现在的实现只允许一次检查一个,发现下面:
List<string> Tweets = new List<string>();
foreach (var men in Tweets)
{
int pFrom = men.IndexOf("@") + "@".Length;
int pToColon = men.LastIndexOf(":");
//int pToSpace = men.LastIndexOf(" ");
string result = mention.Substring(pFrom, pToColon - pFrom);
listBox1.Items.Add(result);
}
我如何检查用户名提用冒号或空白结束? 编辑:我知道LastIndexOf返回一个整数,不知道如何区分推文但是
你并不需要解析的文本。推文具有“实体”属性,该实体又包含'user_mentions' – Eser
正如@Eser所示,这是一个XY问题。人们会发布正则表达式作为答案,你会有被帮助的错觉(并且我确定那些正则表达式会错过有效的Twitter句柄的字符,反之亦然),而当你使用C#API时,你可以只需查找相关的推文而无需手动解析推文的文本,而是通过访问正确的属性。 – CodeCaster
@CodeCaster - 我明白我可以使用API,但是在我的特殊情况下,我只需要在“@”和“”或“:”之间输入用户名。 – razki