url截取

第一种方式:


        created() {
              var url = document.location.href;
          //  var url ="file:///var/mobile/Containers/Data/Application/166881B0-D52B-4595-A993-8E5BBD23A5F1/Documents/apps/lingpaiapply/448/www/index.html#/sjxq?eventId=123S&conversation_id=20107946&mx_conversation_id=20107946&source_id=1591154"
              console.log("url:"+url)
                //截取URL地址栏里的phaseName=
                let urls = decodeURI(url);
                let a = unescape(urls);
                console.log("a:"+a);
                let num = a.split("eventId=")[1].split("?")[0].split('&'); //截取url地址的 position
                console.log("num:"+num[0])
                this.text1 = num[0];
                console.log("text1:"+this.text1)
                // let nums = a.split("conversation_id=")[1].split("?")[0]; // 截取url地址的 orderNo
                // this.text2 = nums;
                // let numss = a.split("mx_conversation_id=")[1].split("?")[0]; // 截取url地址的 orderNo
                // this.text3 = numss;
                //  let numsss = a.split("source_id=")[1].split("?")[0]; // 截取url地址的 orderNo
                // this.text4 = numsss;
          
                this.sysDetile();    
        },

第二种方式:

   getQueryStringArgs(){
             //  let url1 ="http://192.168.2.10:9081/#/xlz?time=1586944567904&severity=5&key=121&desc=紧急加班&service_id=120&service=研究院&ip=192.168.20.1&item=item&sub_item=sub_item";		let arrar=
                   let urls=Window.location.search;//获取url地址?至结尾的所有参数
                   console.log("urls:"+urls)
                    //let url1="launchApp://lingpaiapply$$#/xlz?eventId=AS11";
                  //  console.log(url1.split('?')[1].split('&'));
                    let arr = url1.split('?')[1].split('&');
                    let obj={};
                    for(let i =0 ;i<arr.length;i++) {
                        // console.log(arr[i].split('=')[0])
                        // console.log(arr[i].split('=')[1])
                        // console.log(arr)
                        let n= arr[i].split('=')[0];
                        let m = arr[i].split('=')[1]
                        // obj.(arr[i].split('=')[0]) = arr[i].split('=')[1]
                        // console.log(obj.i)
                        console.log(m),
                        console.log(n)
                        obj[n] = m
                    }
                    console.log(obj)
                
                   this.eventId=obj.eventId;
                    console.log("1111"+ this.eventId)
              
             
            },

第三种:

letobj={};
obj[lineStyle.split("{")[1].split("}")[0].split(":")[0]]=lineStyle.split("{")[1].split("}")[0].split(":")[1];
console.log(obj)
### 解析和截取URL字符串的方法 在 Python 中,解析和截取 URL 字符串可以通过多种方法实现。以下是几种常见的技术及其具体实现。 #### 方法一:正则表达式 (Regular Expression) 通过 `re` 模块中的正则表达式功能可以从字符串中提取 URL 链接[^1]。这种方法适用于复杂的匹配需求: ```python import re def extract_urls(text): url_pattern = r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+' urls = re.findall(url_pattern, text) return urls text_with_url = "Check out this website: https://www.example.com and this one http://testsite.org" print(extract_urls(text_with_url)) ``` 上述代码定义了一个模式来识别标准的 HTTP 和 HTTPS 地址,并返回所有找到的链接列表。 --- #### 方法二:urllib.parse 库 Python 自带的标准库 `urllib.parse` 提供了解析 URL 的强大工具。它能够轻松分解 URL 并获取特定部分,比如协议、域名或路径。 ```python from urllib.parse import urlparse url = 'https://www.example.com/path/to/page?name=ferret&color=purple' parsed_url = urlparse(url) scheme = parsed_url.scheme # 获取协议 ('https') netloc = parsed_url.netloc # 获取主机名 ('www.example.com') path = parsed_url.path # 获取路径 ('/path/to/page') query_parameters = dict([param.split('=') for param in parsed_url.query.split('&')]) # 查询参数 {'name': 'ferret', 'color': 'purple'} print(f'Scheme: {scheme}, Netloc: {netloc}, Path: {path}') print('Query Parameters:', query_parameters) ``` 此方法非常适合需要进一步处理 URL 各组成部分的情况。 --- #### 方法三:字符串切片操作 如果已知目标位置或者只需要简单地从固定格式的字符串中提取子串,则可以直接利用字符串的索引与分片特性[^2]。例如: ```python url = 'https://www.example.com/path/to/page?name=ferret&color=purple' domain_start_index = url.find('//') + 2 domain_end_index = url.find('/', domain_start_index) if domain_start_index != -1 and domain_end_index != -1: extracted_domain = url[domain_start_index : domain_end_index] else: extracted_domain = None print("Extracted Domain:", extracted_domain) # 输出 www.example.com ``` 这里展示了如何手动定位并切割出所需的片段。 --- ### 总结 以上三种方式各有优劣: - 正则表达式的灵活性最高,适合复杂场景下的全面匹配; - 使用 `urllib.parse` 是最推荐的方式之一,因为它不仅高效而且内置支持各种边缘情况; - 对于简单的任务来说,直接采用字符串的操作可能更加直观易懂。 无论选择哪种方案,请务必考虑输入数据的实际形式以及潜在异常状况的影响。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值