例1
代碼如下 |
複製代碼 |
private void button2_Click(object sender, EventArgs e) { // Create a request for the URL. WebRequest request = WebRequest.Create("http://www.111cn.net/"); // If required by the server, set the credentials. request.Credentials = CredentialCache.DefaultCredentials; // Get the response. HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // Display the status. MessageBox.Show(response.StatusDescription); Console.WriteLine(response.StatusDescription); // Get the stream containing content returned by the server. Stream dataStream = response.GetResponseStream(); // Open the stream using a StreamReader for easy access. StreamReader reader = new StreamReader(dataStream, Encoding.Default); // Read the content. string responseFromServer = reader.ReadToEnd(); //截取資料 int i = responseFromServer.IndexOf("京"); string dataBid = responseFromServer.Substring(i, 12); // Display the content. MessageBox.Show(dataBid); Console.WriteLine(responseFromServer); // Cleanup the streams and the response. reader.Close(); dataStream.Close(); response.Close(); } |
C#用Regex獲得指定開始和結束字串中間的一段文本
代碼如下 |
複製代碼 |
/// <summary> /// 獲得字串中開始和結束字串中間得值 /// </summary> /// <param name="str"></param> /// <param name="s">開始</param> /// <param name="e">結束</param> /// <returns></returns> public static string GetValue(string str, string s, string e) { Regex rg = new Regex("(?<=(" + s + "))[.\s\S]*?(?=(" + e + "))", RegexOptions.Multiline | RegexOptions.Singleline); return rg.Match(str).Value; } /// <summary> /// 截取字串過多+…… /// </summary> /// <param name="inputString">字串</param> /// <param name="len">長度</param> /// <returns>string</returns> public static string CutString(string inputString, int len) { ASCIIEncoding ascii = new ASCIIEncoding(); int tempLen = 0; string tempString = ""; byte[] s = ascii.GetBytes(inputString); for (int i = 0; i < s.Length; i++) { if ((int)s[i] == 63) { tempLen += 2; } else { tempLen += 1; } try { tempString += inputString.Substring(i, 1); } catch { break; } if (tempLen > len) break; } //如果截過則加上半個省略符號 byte[] mybyte = System.Text.Encoding.Default.GetBytes(inputString); if (mybyte.Length > len) tempString += "…"; return tempString; }
|
調用方法
代碼如下 |
複製代碼 |
string get字串="01-藍"; string get後 = get字串.Substring(0, get字串.IndexOf("-")); 這樣擷取的資料是:藍string get後 = get字串.Substring(get字串.IndexOf("-"),get字串.Length - get字串.IndexOf("-")); |