首页 / 知识
如何在C#中生成一个友好的URL?
2023-04-13 19:49:00

How do I generate a Friendly URL in C#?如何在C#中生成友好的URL? 目前,我简单地用下划线替换空格,但是如何生成类似于Stack Overflow的URL? 例如,如何转换:
进入
不过,Jeff的解决方案中有几处可以改进。
恕我直言,不是测试的地方。如果该函数传递了一个空字符串,则无论如何都会出现严重错误。抛出错误或完全不反应。
两次工作。考虑到每个操作都会创建一个全新的字符串,即使性能不是问题,这也很糟糕。
再次,基本上是工作的两倍:首先,使用正则表达式一次替换多个空格。然后,再次使用正则表达式一次替换多个破折号。解析两个表达式,在内存中构造两个自动机,在字符串上迭代两次,创建两个字符串:所有这些操作都可以折叠为一个。 我不需任何测试就可以解决这个问题:
请注意,只要有可能,此方法将使用字符串函数而不是正则表达式函数和char函数而不是字符串函数。 这是我们的方法。请注意,边缘条件可能比您乍看之下要多。
这是其中的一部分(使用有效字符的白名单):
但是,它确实为您提供了以"-"结尾的字符串。因此,也许要使用第二个正则表达式来从字符串的开头/结尾修剪掉它们,并可能将任何内部的"-"替换为"-"。 这是一个简单的函数,可以将您的字符串转换为Url,您只需要传递标题或字符串即可将其转换为用户友好的Url。
|
最新内容
相关内容
linux命令时间转换?
linux命令时间转换?,时间,系统,命令,信息,国家,大陆,概念,终端,时区,时分,Linux系统的服务器时间要怎么进行修改输入这条命令系统时间会设置为linux命令时间戳转换?
linux命令时间戳转换?,时间,系统,地址,信息,工作,代码,标准,工具,形态,命令,linux时间戳命令1、可以使用touch命令修改Linux系统中一个文件的mlinux转换行列命令?
linux转换行列命令?,工作,地址,信息,网络,系统,命令,标准,电脑,环境,目录,linux指令转换为cmd指令首先打开电脑,点击电脑桌面左下角的搜索框,输linux生成应用命令?
linux生成应用命令?,地址,系统,工作,命令,名字,名称,首次,管理,文件,数据,linux新建文件命令是什么?1、终端下键入:touch加文件名,这样就创建了linux地址转换命令?
linux地址转换命令?,地址,系统,代码,信息,设备,网络,服务,密码,状态,报告,linux怎么修改localaddress地址1、首先,打开Linux终端系统,随后在系统linux生成数字命令?
linux生成数字命令?,密码,数字,设备,环境,名称,时间,单位,地址,信息,系统,求一个linux的代码要求:随机生成一个密码8到16个字符,要有数字有大转换格式命令linux?
转换格式命令linux?,系统,情况,地址,命令,设备,工作,基础,发行,工具,数据,Linux命令大全Linux命令大全以下是一些常用的 Linux 命令:ls:列出当前linux替换空格命令?
linux替换空格命令?,电脑,名字,软件,命令,空格,文件,数字,灵活,系统,名称,linux下载带空格的文件,空格会被转换成什么当路径变量包含空格时,直linux转换图形命令?
linux转换图形命令?,系统,工作,密码,工具,地址,命令,地方,环境,软件,信息,Linux命令行与图形界面切换方法系统默认启动到图形界面。登录后输入linux时间转换命令?
linux时间转换命令?,时间,系统,国家,大陆,命令,信息,标准,电脑,时区,终端,linux修改时区时间命令1、目录方法1:使用命令行打开终端应用程序。查linux命令模式转换?
linux命令模式转换?,工作,系统,数据,标准,命令,地址,信息,模式,设备,密码,linux系统常用操作命令1、linux常用命令有pwd命令、cd命令、ls命令linux转换盘符命令?
linux转换盘符命令?,管理,系统,电脑,数据,情况,工作,磁盘,分区,工具,环境,怎么更改硬盘分区1、方法1:系统分区步骤一:在桌面上右击“此电脑”,然