2015-06-05 61 views
0

我有一些C#代码我,成就了AI替换下载字符串的第二行?

else if (msg.Body.Contains("ai")) 

        { 
         string ai = msg.Body.Replace("!ai ", string.Empty).Replace(" ", "+"); 
         WebClient _client = new WebClient(); 


         msg.Chat.SendMessage("Getting AI... "); 

         _client.Headers["User-Agent"] = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36"; 



         //Define what the client is heading to. 
         string a = _client.DownloadString("!Api here!" + ai).Replace("string", "\n"); 

         //Display Message 
         msg.Chat.SendMessage(Nick + "AI says: " + a); 
        } 

但是API还给2行,我只需要前行,因为那是用唯一的线给我,请帮助!

+0

你能告诉我们这个字符串看起来像你从api中得到的吗? –

+0

好 “嗨,甜心:)字符串(12)‘嗨,甜心:)’ –

+0

我想后删除一切‘ –

回答

1

你也可以使用像这样具备字符串数据类型的简单.Remove()功能:

int index = a.IndexOf("string"); 

a = a.Remove(index, a.Length - index); 

如果你想在新的生产线后,删除一切,那么你可以IndexOf方法中的"string"替换为Environment.NewLine,因为IndexOf会查找指定参数的第一个实例。

+0

谢谢,但我发现上面的代码更清洁,一旦我得到它的工作,那就是:D –

+0

你修好了!非常感谢John! –

+0

没问题 :)。虽然使用'LINQ'会把它变成一个班轮。这是一个老派的做法: –

1

尝试:

a = a.Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None).First(); 
+0

感谢串’,我会,如果你想字符串后试图删除一切试试这个 –

+0

: 一.Substring(0,a.IndexOf(“string”)) – Nader

+1

我想拆分'Environment.NewLine' – Jonesopolis