首页 > 试题广场 >

提取博客URL中的用户名

[编程题]提取博客URL中的用户名
  • 热度指数:132956 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
题目:对于申请参与比赛的用户,blog_url字段中url字符后的字符串为用户个人博客的用户名,现在运营想要把用户的个人博客用户字段提取出单独记录为一个新的字段,请取出所需数据。

示例:user_submit
device_id
profile
blog_url
2138 180cm,75kg,27,male
http:/ur/bisdgboy777
3214 165cm,45kg,26,female
http:/url/dkittycc
6543 178cm,65kg,25,male
http:/ur/tigaer
4321 171 cm,55kg,23,female
http:/url/uhksd
2131 168cm,45kg,22,female
http:/url/sydney

根据示例,你的查询应返回以下结果:
device_id
user_name
2138 bisdgboy777
3214 dkittycc
6543 tigaer
4321 uhsksd
2131 sydney

示例1

输入

drop table if exists user_submit;
CREATE TABLE `user_submit` (
`id` int NOT NULL,
`device_id` int NOT NULL,
`profile` varchar(100) NOT NULL,
`blog_url` varchar(100) NOT NULL
);
INSERT INTO user_submit VALUES(1,2138,'180cm,75kg,27,male','http:/url/bisdgboy777');
INSERT INTO user_submit VALUES(1,3214,'165cm,45kg,26,female','http:/url/dkittycc');
INSERT INTO user_submit VALUES(1,6543,'178cm,65kg,25,male','http:/url/tigaer');
INSERT INTO user_submit VALUES(1,4321,'171cm,55kg,23,female','http:/url/uhsksd');
INSERT INTO user_submit VALUES(1,2131,'168cm,45kg,22,female','http:/url/sysdney');

输出

2138|bisdgboy777
3214|dkittycc
6543|tigaer
4321|uhsksd
2131|sysdney
头像 Joneln
发表于 2021-11-21 20:55:00
切割、截取、删除、替换 select -- 替换法 replace(string, '被替换部分','替换后的结果') -- device_id, replace(blog_url,'http:/url/','') as user_name -- 截取法 substr(string, start 展开全文
头像 牛客182179768号
发表于 2021-09-22 17:33:37
SUBSTRING_INDEX(str,delim,count),是一个通过特定标识符"delim"来截取子串的函数,我们日常使用频率是很高的;delim:通过该标识符来进行截取的,delim可以为任意字符,不要为空;count:代表第几次出现;count为正数,代表从左边取标识 展开全文
头像 webary
发表于 2021-09-03 11:44:36
题意明确: 把用户的个人博客用户名字段提取出来单独记录为一个新的字段 问题分解: 限定条件:无; 提取字段内信息:个人博客字段中的用户名是被字符/分隔的最后一个子串,使用substring_index函数可以按特定字符串截取源字符串 substring_index(FIELD, sep, 展开全文
头像 哈喽.沃德
发表于 2022-04-29 11:25:37
从最后一个 / 处截取字符串 substring_index函数 select us.device_id,substring_index(us.blog_url,'/',-1) as user_name from user_submit us 替换掉前面的字符串 replace()函数 展开全文
头像 东陌寒
发表于 2021-10-22 15:25:36
select device_id, SUBSTRING(blog_url,11) as username from user_submit substring(str,n,m)表示截取str,从第n位开始,一共截取m个字符,如果没有m,就是表示一直截取到最后
头像 玉树叶
发表于 2021-11-12 19:50:19
没啥说的跟上一个一模一样 SELECT device_id, SUBSTRING_INDEX(blog_url,'/',-1) user_name FROM user_submit
头像 DraonAbyss
发表于 2021-10-08 14:37:24
知识 SQL 入门 32 #截取出年龄# https://blog.nowcoder.net/n/08a3a1df016d418daabd4a0870f7fb4e 题解 SELECT device_id,SUBSTRING_INDEX(blog_url,'/',-1) AS user_name FR 展开全文
头像 牛客406250295号
发表于 2021-10-19 09:23:06
SUBSTRING_INDEX 函数考查 这个函数的作用是取指定分隔符分割后的数据 第一个参数 为需要分割的字段 第二个参数 指定的分隔符,可以是字段值中出现的任意字符,不过注意要取便于分割的字符 第三个参数 指定第几个分隔符前的所有数据,-1代表最后一个分隔符后的数据 更正一下 之前误以为第三 展开全文
头像 jjdhfbu
发表于 2023-03-26 10:58:17
select device_id, substring_index(blog_url,"/",-1) as user_name from user_submit
头像 传说一颗星
发表于 2024-02-21 12:41:51
方法一:用SUBSTRING_INDEX select device_id, substring_index(blog_url,'/',-1) user_name from user_submit 方法二:使用正则表达式,用逆向环视(向后检查) SELECT device_id, REGEXP_S 展开全文