首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何正确更改URL参数?

如何正确更改URL参数?
EN

Stack Overflow用户
提问于 2016-08-14 13:47:04
回答 1查看 122关注 0票数 0

首先,让我正确地解释一下我的意思:我发现了很多方法,但大多数方法最终都会使用字符串操作之类的方法。我想知道是否有一种使用内置函数的简单方法。

到目前为止,我用一个URL修改了string myNewValue的参数。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Uri myUri = new Uri(URL);
var qs = HttpUtility.ParseQueryString(myUri.Query);
qs["ParameterName"] = myNewValue;

这确实很好用。现在,我想用这些新参数将我的URL返回到一个string中。正确的方法是什么?比如从原始字符串中获取没有模式的URL并合并所获得的参数?

注意:到目前为止,我能够用Substring这样做,当一个人开始在字符串中找到字符到Substring的东西时,我就会发现它是“不干净的”。

我的做法很简单。从原来的URL到"?",然后与qs.ToString()组合

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-14 14:59:36

UriBuilder类为您提供了足够的能量吗?它并不能做所有的事情(特别是,它不构建路径),但是缺少的部分很容易填补。例如,默认的ToString of KeyValuePair<string, string>string.Join()很好地工作。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var myUri = new Uri(url);
var qs = HttpUtility.ParseQueryString(myUri.Query);
qs["param1"] = "newVal1";

var path = string.Join("&", qs); // UriBuilder can't do this bit for you
// But it can put the bits back together and look after oddities,
// slashes, url encoding, etc.
var builder = new UriBuilder(myUri) {Path = path};
var newUri = builder.Uri;

对于代码中的额外整洁,可以用如下的扩展方法来包装:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public static Uri SetAttribute(this Uri uri, string key, string value) {
  var qs = HttpUtility.ParseQueryString(uri.Query);
  qs[key] = value;
  return new UriBuilder(myUri) {Path = string.Join("&", qs)}.Uri;
}

现在,原始代码变成:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Uri myUri = new Uri(URL);
myUri.SetAttribute("ParameterName") = myNewValue;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38946904

复制
相关文章
FastJson中@JSONField注解使用FastJson中@JSONField注解使用
如果json格式数据不符合Java中的标准驼峰式变量定义规则,并且难以理解,这个时候就需要在后台中做二次处理,将数据处理成我们系统中定义的格式。
一个会写诗的程序员
2018/08/17
1.4K0
30.scala的注解
注解将元信息与定义相关联。例如,方法之前的注解 @deprecated 会导致编译器在该方法被使用时打印警告信息。
Spark学习技巧
2020/06/01
4670
Mockito入门:如何在Spring中Mock部分对象
随着分布式应用的开发逐渐成为标配,多个微服务团队合作来完成垂直业务的开发成为了一种常态。微服务使得团队可以专注于自己的业务逻辑,在和下游依赖和上游对接的团队聚焦好接口之后,就进入正式的开发。但是,每个团队的开发节奏往往不同,下游依赖所提供的服务有些时候不能在自测的时候提供稳定的服务。不仅是多个团队,单个团队中每个人所负责的模块之间也会存在依赖关系,也就同样存在这样的问题。
眯眯眼的猫头鹰
2019/09/30
11.1K0
如何在phpunit中mock一个单例类
Mock简介 当我们对A类进行单元测试时,A类可能依赖了B类,为了减少依赖,方便A类方法的测试,我们可以模拟一个B类,简单规定其各方法的返回值(而非真正实现具体逻辑)。 Phpunit中提供了一套模拟类的api,简单使用如下:
跑马溜溜的球
2020/12/07
1.8K0
Scala中的Map使用例子
Map结构是一种非常常见的结构,在各种程序语言都有对应的api,由于Spark的底层语言是Scala,所以有必要来了解下Scala中的Map使用方法。 (1)不可变Map 特点: api不太丰富 如果是var修饰,引用可变,支持读写 如果是val修饰,引用不可变,只能写入一次值,其后只读 var a:Map[String,Int]=Map("k1"->1,"k2"->2)//初始化构造函数 a += ("k3"->3)//添加元素 a += ("k4"->4)//添加元素 a +=
我是攻城师
2018/05/14
3.2K0
如何在phpunit中mock(模拟)一个单例类
Mock简介 当我们对A类进行单元测试时,A类可能依赖了B类,为了减少依赖,方便A类方法的测试,我们可以模拟一个B类,简单规定其各方法的返回值(而非真正实现具体逻辑)。Phpunit中提供了一套模拟类的api,简单使用如下:
跑马溜溜的球
2020/12/07
3.1K0
【说站】python中mock的断言使用
以上就是python中mock的断言使用,希望对大家有所帮助。更多Python学习指路:python基础教程
很酷的站长
2022/11/23
5340
FastJson中@JSONField注解使用
最近做项目中,使用了json格式在服务器之间进行数据传输。但是发现json格式数据不符合JAVA中的变量定义规则,并且难以理解,因此需要在后台中做二次处理,将数据处理成我们系统中定义的格式。
全栈程序员站长
2022/11/01
1.2K0
SpringBoot中Configure注解和Bean注解的使用
  Configure不加参数,仅声明为配置类,加了参数代表该类为实例,实例名称为参数名
用户2603479
2018/08/15
1.9K0
Scala使用
Scala是一门主要以Java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程语言的最佳特性综合在一起的编程语言。你可以使用Scala编写出更加精简的程序,同时充分利用并发的威力。由于Scala默认运行于JVM之上,因此 它可以访问任何Java类库并且与Java框架进行互操作,比如Scala可以被编译成JavaScript代码,让我们更便捷、高效地开发Web应用。
俺也想起舞
2019/07/24
6140
[249]python mock基本使用
mock在翻译过来有模拟的意思。这里要介绍的mock是辅助单元测试的一个模块。它允许您用模拟对象替换您的系统的部分,并对它们已使用的方式进行断言。
周小董
2022/04/12
4870
【Scala篇】--Scala中的函数
Scala中的函数还是比较重要的,所以本文章把Scala中可能用到的函数列举如下,并做详细说明。
LhWorld哥陪你聊算法
2018/09/13
1.5K0
【Scala篇】--Scala中的函数
使用 Spring 中的 @Lazy 注解
只有一个参数,默认是true,也就是说只要加了这个注解就会延迟加载。 @Lazy注解则必须在第一次调用的时候才会加载。 @Lazy注解注解的作用主要是减少springIOC容器启动的加载时间。
一个会写诗的程序员
2021/03/02
1.9K0
lombok中@EqualsAndHashCode注解的使用
根据姓名查找,会从数据库中返回多条名字相同的数据,那么我们需要使用身份证号去判断名字相同的多个对象是否为同一个人,哪么只需要使用身份证号码判断即可。
关忆北.
2021/12/07
8270
dotnet 如何在 Mock 模拟 Func 判断调用次数
在 dotnet 程序有很好用的 Mock 框架,可以用来模拟各种接口和抽象类,可以用来测试某个注入接口的被调用次数和被调用时传入参数。本文告诉大家如何在 Mock 里面模拟一个 Func 同时模拟返回对象,获取调用次数
林德熙
2019/06/15
1.3K0
Jest中Mock网络请求
最近需要将一个比较老的库修改为TS并进行单元测试,修改为TS还能会一点,单元测试纯粹是现学现卖了,初学Jest框架,觉得在单元测试中比较麻烦的就是测试网络请求,所以记录一下Mock掉Axios发起网络请求的一些方式。初学两天的小白,如有问题还请指出。
冬夜先生
2021/09/13
2.6K0
如何在Scala中读取Hadoop集群上的gz压缩文件
存在Hadoop集群上的文件,大部分都会经过压缩,如果是压缩后的文件,我们直接在应用程序中如何读取里面的数据?答案是肯定的,但是比普通的文本读取要稍微复杂一点,需要使用到Hadoop的压缩工具类支持,比如处理gz,snappy,lzo,bz压缩的,前提是首先我们的Hadoop集群得支持上面提到的各种压缩文件。 本次就给出一个读取gz压缩文件的例子核心代码: 压缩和解压模块用的工具包是apache-commons下面的类: import org.apache.commons.io.IOUtils impor
我是攻城师
2018/05/14
2.7K0
dotnet 如何在 Mock 模拟 Func 判断调用次数
在 dotnet 程序有很好用的 Mock 框架,可以用来模拟各种接口和抽象类,可以用来测试某个注入接口的被调用次数和被调用时传入参数。本文告诉大家如何在 Mock 里面模拟一个 Func 同时模拟返回对象,获取调用次数
林德熙
2022/08/07
8410
Springboot中使用Scala开发使用SB與Scala
https://github.com/LightSwordSpringBoot/lightsword
一个会写诗的程序员
2018/08/20
1.1K0
点击加载更多

相似问题

Scala注解继承

23

Scala中的复杂注解

11

如何在scala中使用包含@JoinColumn的注解@JoinTable

10

scala中的Singleton模式,支持轻松使用mock

23

Scala中的嵌套注解列表

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文