|
|
|
當(dāng)前的位置 >> 返回首頁 >> 解決方案 |
|
ASP.NET截取字符串函數(shù)(用于網(wǎng)頁內(nèi)容分析與采集 |
|
發(fā)布者:西安軟件公司 發(fā)布時(shí)間:2010/3/30 閱讀:319次 |
|
public string GetContent(string str, string start, string last, int n) { if (str.ToLower().IndexOf(start.ToLower())>=0) { switch (n) { //左右都截。ǘ既∏懊妫òP(guān)鍵字) case 1: str = str.Substring(str.ToLower().IndexOf(start.ToLower()), str.Length - str.ToLower().IndexOf(start.ToLower())); str = str.Substring(0, str.ToLower().IndexOf(last.ToLower()) + last.Length); break; //左右都截。ǘ既∏懊妫ㄈコP(guān)鍵字) case 2: str = str.Substring(str.ToLower().IndexOf(start.ToLower()) + start.Length, str.Length - str.ToLower().IndexOf(start.ToLower()) - start.Length); str = str.Substring(0, str.ToLower().IndexOf(last.ToLower())); break; //左右都截。ǘ既『竺妫òP(guān)鍵字) case 3: str = str.Substring(str.ToLower().LastIndexOf(start.ToLower()), str.Length - str.ToLower().LastIndexOf(start.ToLower())); str = str.Substring(0, str.ToLower().LastIndexOf(last.ToLower()) + last.Length); break; //左右都截。ǘ既『竺妫ㄈコP(guān)鍵字) case 4: str = str.Substring(str.ToLower().LastIndexOf(start.ToLower()) + start.Length, str.Length - str.ToLower().LastIndexOf(start.ToLower()) - start.Length); str = str.Substring(0, str.ToLower().LastIndexOf(last.ToLower())); break; //只往左截取(取前面的)(包含關(guān)鍵字) case 5: str = str.Substring(0, str.ToLower().IndexOf(start.ToLower()) + start.Length); break; //只往左截。ㄈ∏懊娴模ㄈコP(guān)鍵字) case 6: str = str.Substring(0, str.ToLower().IndexOf(start.ToLower())); break; //只往左截取(取后面的)(包含關(guān)鍵字) case 7: str = str.Substring(0, str.ToLower().LastIndexOf(start.ToLower()) +start.Length); break; //只往左截。ㄈ『竺娴模ㄈコP(guān)鍵字) case 8: str = str.Substring(0, str.ToLower().LastIndexOf(start.ToLower())); break; //只往右截。ㄈ∏懊娴模òP(guān)鍵字) case 9: str = str.Substring(str.ToLower().IndexOf(start.ToLower()), str.Length - str.ToLower().IndexOf(start.ToLower())); break; //只往右截。ㄈ∏懊娴模ㄈコP(guān)鍵字) case 10: str = str.Substring(str.ToLower().IndexOf(start.ToLower()) + start.Length, str.Length - str.ToLower().IndexOf(start.ToLower()) - start.Length); break; //只往右截取(取后面的)(包含關(guān)鍵字) case 11: str = str.Substring(str.ToLower().LastIndexOf(start.ToLower()), str.Length - str.ToLower().LastIndexOf(start.ToLower())); break; //只往右截。ㄈ『竺娴模ㄈコP(guān)鍵字) case 12: str = str.Substring(str.ToLower().LastIndexOf(start.ToLower())+start.Length, str.Length - str.ToLower().LastIndexOf(start.ToLower())-start.Length); break; //左右都截。ㄒ磺耙缓螅òP(guān)鍵字) case 13: str = str.Substring(str.ToLower().IndexOf(start.ToLower()), str.Length - str.ToLower().IndexOf(start.ToLower())); str = str.Substring(0, str.ToLower().LastIndexOf(last.ToLower()) + last.Length); break; //左右都截。ㄒ磺耙缓螅ㄈコP(guān)鍵字) case 14: str = str.Substring(str.ToLower().IndexOf(start.ToLower()) + start.Length, str.Length - str.ToLower().IndexOf(start.ToLower()) - start.Length); str = str.Substring(0, str.ToLower().LastIndexOf(last.ToLower())); break; default: break; } } return str; }
改進(jìn)版:
public string GetContent(string str, string start, string last, int n) { if (str.ToLower().IndexOf(start.ToLower()) >= 0) { if (str.ToLower().IndexOf(last.ToLower()) >= 0) { switch (n) { //左右都截取(都取前面)(包含關(guān)鍵字) case 1: str = str.Substring(str.ToLower().IndexOf(start.ToLower()), str.Length - str.ToLower().IndexOf(start.ToLower())); str = str.Substring(0, str.ToLower().IndexOf(last.ToLower()) + last.Length); break; //左右都截。ǘ既∏懊妫ㄈコP(guān)鍵字) case 2: str = str.Substring(str.ToLower().IndexOf(start.ToLower()) + start.Length, str.Length - str.ToLower().IndexOf(start.ToLower()) - start.Length); str = str.Substring(0, str.ToLower().IndexOf(last.ToLower())); break; //左右都截。ǘ既『竺妫òP(guān)鍵字) case 3: str = str.Substring(str.ToLower().LastIndexOf(start.ToLower()), str.Length - str.ToLower().LastIndexOf(start.ToLower())); str = str.Substring(0, str.ToLower().LastIndexOf(last.ToLower()) + last.Length); break; //左右都截取(都取后面)(去除關(guān)鍵字) case 4: str = str.Substring(str.ToLower().LastIndexOf(start.ToLower()) + start.Length, str.Length - str.ToLower().LastIndexOf(start.ToLower()) - start.Length); str = str.Substring(0, str.ToLower().LastIndexOf(last.ToLower())); break; //左右都截。ㄒ磺耙缓螅òP(guān)鍵字) case 5: str = str.Substring(str.ToLower().IndexOf(start.ToLower()), str.Length - str.ToLower().IndexOf(start.ToLower())); str = str.Substring(0, str.ToLower().LastIndexOf(last.ToLower()) + last.Length); break; //左右都截。ㄒ磺耙缓螅ㄈコP(guān)鍵字) case 6: str = str.Substring(str.ToLower().IndexOf(start.ToLower()) + start.Length, str.Length - str.ToLower().IndexOf(start.ToLower()) - start.Length); str = str.Substring(0, str.ToLower().LastIndexOf(last.ToLower())); break; default: str = ""; break; } } else { switch (n) { //只往左截。ㄈ∏懊娴模òP(guān)鍵字) case 7: str = str.Substring(0, str.ToLower().IndexOf(start.ToLower()) + start.Length); break; //只往左截取(取前面的)(去除關(guān)鍵字) case 8: str = str.Substring(0, str.ToLower().IndexOf(start.ToLower())); break; //只往左截。ㄈ『竺娴模òP(guān)鍵字) case 9: str = str.Substring(0, str.ToLower().LastIndexOf(start.ToLower()) + start.Length); break; //只往左截。ㄈ『竺娴模ㄈコP(guān)鍵字) case 10: str = str.Substring(0, str.ToLower().LastIndexOf(start.ToLower())); break; //只往右截。ㄈ∏懊娴模òP(guān)鍵字) case 11: str = str.Substring(str.ToLower().IndexOf(start.ToLower()), str.Length - str.ToLower().IndexOf(start.ToLower())); break; //只往右截。ㄈ∏懊娴模ㄈコP(guān)鍵字) case 12: str = str.Substring(str.ToLower().IndexOf(start.ToLower()) + start.Length, str.Length - str.ToLower().IndexOf(start.ToLower()) - start.Length); break; //只往右截。ㄈ『竺娴模òP(guān)鍵字) case 13: str = str.Substring(str.ToLower().LastIndexOf(start.ToLower()), str.Length - str.ToLower().LastIndexOf(start.ToLower())); break; //只往右截。ㄈ『竺娴模ㄈコP(guān)鍵字) case 14: str = str.Substring(str.ToLower().LastIndexOf(start.ToLower()) + start.Length, str.Length - str.ToLower().LastIndexOf(start.ToLower()) - start.Length); break; default: str = ""; break; } } } else { str = ""; } return str; }
|
|