Android Studio中从URL加载文本并按冒号分割后遍历调用函数
解决方案
通用步骤说明
- 从指定URL获取目标文本
- 使用分隔符
:分割文本为字符串数组 - 遍历数组,逐个调用
MyFunction
C# 实现示例
using System.Net.Http; using System.Threading.Tasks; using System; // 从URL获取文本 async Task<string> FetchTextFromUrl(string targetUrl) { using var httpClient = new HttpClient(); // 处理请求异常,比如网络错误、404等 try { return await httpClient.GetStringAsync(targetUrl); } catch (HttpRequestException ex) { Console.WriteLine($"请求失败: {ex.Message}"); return string.Empty; } } // 主逻辑 async Task ProcessUrlContent(string url) { string rawContent = await FetchTextFromUrl(url); if (string.IsNullOrEmpty(rawContent)) return; // 分割文本,移除空项 string[] textSegments = rawContent.Split(new[] { ':' }, StringSplitOptions.RemoveEmptyEntries); // 遍历调用MyFunction foreach (string segment in textSegments) { MyFunction(segment.Trim()); // 去除首尾空白,避免无效参数 } } // 假设的MyFunction示例 void MyFunction(string input) { Console.WriteLine($"处理内容: {input}"); }
Python 实现示例
import requests # 从URL获取文本 def fetch_text_from_url(target_url): try: response = requests.get(target_url) response.raise_for_status() # 抛出HTTP错误异常 return response.text.strip() # 先去除首尾空白 except requests.exceptions.RequestException as e: print(f"请求失败: {str(e)}") return "" # 主逻辑 def process_url_content(url): raw_content = fetch_text_from_url(url) if not raw_content: return # 分割文本,过滤空字符串 text_segments = [seg.strip() for seg in raw_content.split(':') if seg.strip()] # 遍历调用MyFunction for segment in text_segments: MyFunction(segment) # 假设的MyFunction示例 def MyFunction(input_str): print(f"处理内容: {input_str}")
关键注意点
- 异常处理:必须处理URL请求可能出现的网络错误、HTTP状态码异常,避免程序崩溃
- 数据清洗:分割前后建议去除文本空白字符,过滤空项,避免传递无效参数给
MyFunction - 异步适配:如果
MyFunction是异步方法,遍历过程中需使用await(C#)或async/await语法(Python)
内容的提问来源于stack exchange,提问作者heelowyou
相关产品推荐
相关产品推荐

