首页 数据库 mysql教程 【sql查询与优化】5.使用字符串

【sql查询与优化】5.使用字符串

Jun 07, 2016 pm 02:49 PM
sql 优化 使用 字符串 查询 案例

注:以下所有sql案例均取自oracle查询优化改写技巧与案例丛书。 1.遍历字符串 有时候要求把字符串拆分成单个字符,如: create or replace view v asselect 天天向上 as 汉字, TTXS as 首拼 from dual; 为了核对表中保存的“首拼”是否正确,需要把字符串拆分

注:以下所有sql案例均取自"oracle查询优化改写技巧与案例"丛书。

1.遍历字符串
有时候要求把字符串拆分成单个字符,如:
create or replace view v as
select '天天向上' as 汉字, 'TTXS' as 首拼 from dual;
登录后复制

为了核对表中保存的“首拼”是否正确,需要把字符串拆分成下面的样式:

汉字       首拼
————   ————
  天          T
  天          T  
  向          X
  上          S

拆分之前,我们先看一个connect by子句:
select level from dual connect by level<br>
level<br>
--------<br>
  1<br>
  2<br>
  3<br>
  4<br>
<br>
其中,connect by是树形查询中的一个子句,后面level是一个“伪列”,表示树形查询中的级别层次,通过level
<br>
那么我们就可以通过connect by子句把v循环显示四行,并给出定位标识level:<br>
select v.汉字,v.首拼,level from v connect by level 
<br>
汉字                     首拼          LEVEL<br>
------------------------ -------- ----------<br>
天天向上                 TTXS              1<br>
天天向上                 TTXS              2<br>
天天向上                 TTXS              3<br>
天天向上                 TTXS              4<br>
<br>
根据上面的数据,就可以通过函数substr(v.汉字,level,?)得到需要的结果:<br>
<pre code_snippet_id="1692086" snippet_file_name="blog_20160522_3_8881054" name="code" class="sql">select v.汉字,
        v.首拼,
       level,
       substr(v.汉字,level,1) as 汉字拆分,
       substr(v.首拼,level,1) as 首拼拆分,
       'substr(''' || v.汉字 || ''',' || level || ',1)' as fun
    from v
    connect by level<br>
汉字                     首拼          LEVEL 汉字拆分 首拼拆分  FUN<br>
------------------------ -------- ---------- -------- --------  ----------<br>
天天向上                 TTXS              1 天       T         substr('天天向上',1,1)<br>
<br>
天天向上                 TTXS              2 天       T         substr('天天向上',2,1)<br>
<br>
天天向上                 TTXS              3 向       X         substr('天天向上',3,1)<br>
<br>
天天向上                 TTXS              4 上       S         substr('天天向上',4,1)<br>
<br>
可以看到我们是利用level的值将字符串进行拆分的,最后的fun可以看出来。<br>
<br>
注:<br>
substr(string,start,length)<br>
string - 指定的要截取的字符串。<br>
start - 必需,规定在字符串的何处开始。正数 - 在字符串的指定位置开始,负数 - 在从字符串结尾的指定位置开始,0 - 在字符串中的第一个字符处开始。<br>
length - 可选,指定要截取的字符串长度,缺省时返回字符表达式的值结束前的全部字符。<br>
<br>
<br>
2.字符串文字包含引号<br>
常常有人写SQL时不知道在字符串内的单引号怎么写,其实只要把一个单引号换成两个单引号表示就可以。<br>
<pre code_snippet_id="1692086" snippet_file_name="blog_20160522_4_8182942" name="code" class="sql">select 'g''day mate' qmarks from dual union all
select 'beavers''teeth' from dual union all
select '''' from dual;
登录后复制

QMARKS
--------------------------
g'day mate
beavers'teeth
'
注:
(Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
Union All:对两个结果集进行并集操作,包括重复行,不进行排序;
Intersect:对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;
Minus:对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序。
可以在最后一个结果集中指定Order by子句改变排序方式。)

另外,Oracle 10g开始引入了q-quote特性,允许按照指定的规则,也就是Q或者q开头(如果是national character literals,则是N或n放在Q或q之前),字符串前后使用界定符“'”,使用规则很简单。

(1)q-quote 界定符可以是除了TAB、空格、回车外的任何字节或多字节字符。
(2)界定符可以是[]、{}、、(),而且必须成对出现。

上面的例子用q-quote的写法就比较明确了。
select q'[g'day mate]' qmarks from dual union all
select q'[beavers' teeth]' from dual union all
select q'[']' from dual;
登录后复制

QMARKS
----------------------------
g'day mate
beavers' teeth
'

3.计算字符在字符串中出现的次数

字符串'CLARK,KING,MILLER'被逗号分隔成了三个子串,现要求用SQL计算其中的子串个数,对于这种问题,我们一般计算其中的逗号个数后加1就可以。

下面来看怎么计算逗号的个数。

为了方便引用,首先建立一个view:
create or replace view v as
select 'CLARK,KING,MILLER' as str from dual;
登录后复制

SQL> select str from v;

STR
----------------------------------
CLARK,KING,MILLER

Oracle 11g给出了新函数regexp_count,我们可以直接引用。
select regexp_count(str,',')+1 as cnt from v;

若没有regexp_count的版本怎么办?我们用regexp_replace迂回求值即可。
select length(regexp_replace(str,'[^,]'))+1 as cnt from v;

 CNT
----------
         3
注:regexp_replace是正则表达式函数,是使用正则表达式来替换str
参数:
第一个是输入的字符串
第二个是正则表达式
第三个是替换的字符


还可以使用前面介绍的translate:
select length(translate(str,',' || str,','))+1 as cnt from v;
登录后复制

 CNT
----------
         3

注:translate(string,from_str,to_str)
    执行时,translate依次检查string中的每个字符是否在from_str中存在,如果不存在,那么这个string中的字符直接返回,如果存在,translate会记下这个字符在from_str中的位置,然后用to_str的同样位置的字符代替string中的这个字符作业返回结果。

如果分隔符有一个以上,那就要把计算出来的长度再除以分隔符长度。
create or replace view v as
select '10$#CLARK$#MANAGER' as str from dual;
登录后复制

正确写法:
select length(translate(str,'$#' || str,'$#'))/length('$#')+1 as cnt from v;
登录后复制

 CNT
----------
         3

而用regexp_count就可以不用考虑长度:
regexp_count(str,"\$#")+1 as cnt from v;
登录后复制

可能有人注意到,第二个参数里多了一个“\”,这是因为“$”是通配符,需要用“\”转义。

4.从字符串中删除不需要的字符
create or replace view employes as
select 'CLARK' as ename from dual union all
select 'KING' as ename from dual union all
select 'MILLER' as ename from dual;
登录后复制

若员工姓名中有元字母(AEIOU),现在要求把这些元音字母去掉,很多人都用如下语句:
select ename,
       replace(translate(ename,'AEIOU','aaaaa'),'a','') stripped1
   from employes;
登录后复制

ENAME        STRIPPED1
------------ ------------------------------------------------
CLARK        CLRK
KING         KNG
MILLER       MLLR

这里先把元音字母替换成'a',然后把'a'去掉。
其实用前面介绍的translate的一个用法就可以,根本不需要嵌套:
select ename,translate(ename,'1AEIOU','1') stripped1
from employes;
登录后复制

ENAME        STRIPPED1
------------ ------------------------------------------------
CLARK        CLRK
KING         KNG
MILLER       MLLR

是不是要方便的多?
当然,也可以用更简单的正则函数regexp_replace,直接把[]内列举的字符替换为空:
select ename,
      regexp_replace(ename,'[AEIOU]') as stripped1
    from employes;
登录后复制

ENAME        STRIPPED1
------------ ------------------------------------------------
CLARK        CLRK
KING         KNG
MILLER       MLLR




5.将字符和数字数据分离
建立测试用表如下:
select * from dept2;
登录后复制
DATA
--------------
管理部门3322
销售部门3321
后勤部门3320
金融部门3319

data其实是部门名称和部门编号的连接,现在希望将部门名称和部门编号分别分开,并命名为dname和deptno。
可以使用如下正则表达式:
select regexp_replace(data,'[0-9]','') dname,
    regexp_replace(data,'[^0-9]','') deptno
from dept2;
登录后复制

DNAME       DEPTNO
----------  ----------
管理部门    3322

销售部门    3321

后勤部门    3320

金融部门    3319

在上面出现的正则表达式中,[0-9]是一种表示方式,代表[0123456789],还可以表示为[[:digit:]]。那么把这些数据替换之后剩下的就是那些字母了。而[^0-9]中的“^”表示否定的意思,代表[0-9]的外集,也就是除[0123456789]外的所有字符。要注意“^”的位置:在方括号内,所有的字符之前。

如果不习惯使用正则表达式,还可以使用translate
select translate(data,'a0123456789','a') dname,
     translate(data,'0123456789' || data,'0123456789') deptno
from dept2;
登录后复制

DNAME       DEPTNO
----------  ----------
管理部门    3322

销售部门    3321

后勤部门    3320

金融部门    3319

6.查询只包含字母或数字型的数据
示例数据如下:
create or replace view v as
select '123' as data from dual union all
select 'abc' from dual union all
select '123abc' from dual union all
select 'abc123' from dual union all
select 'a1b2c3' from dual union all
select 'a1b2c3#' from dual union all
select '3$' from dual union all
select 'a 2' from dual;
登录后复制

SQL> select * from v;
登录后复制
登录后复制

DATA
--------------
123
abc
123abc
abc123
a1b2c3
a1b2c3#
3$
a 2
上述语句中,有些数据包含了空格/逗号/$等字符。现在要求返回其中只有字母及数据的行。

如果直接按需求字面意思来写,可以用正则表达式。
SQL> select data from v where regexp_like(data,'^[0-9a-zA-Z]+$');
登录后复制

DATA
--------------
123
abc
123abc
abc123
a1b2c3

regexp_like 就相当于普通的like。
regexp_like(data,'[ABC]')就相当于(like '%A%'or like '%B%'or like '%C%');而regexp_like(data,'[0-9a-zA-Z]+')就相当于(like '%数字%'or like '%小写字母%'or like '%大写字母%')。

“^”不在括号里时表示字符串开始,而“$”表示字母串的结束。例如regexp_like(data,'A')代表普通的like '%A%';而regexp_like(data,'^A')代表普通的like 'A%',即没有了前模糊查询;regexp_like(data,'A$')代表普通的like '%A',即没有了后模糊查询;而regexp_like(data,'^A$')代表普通的like 'A',即精确查询。

另一个概念是“+”与“*”。“+”表示匹配前面的自表达式一次或多次;“*”表示匹配前面的子表达式零次或多次。


7.提取姓名的大写首字母缩写
本例要求返回下面view中的大写字母,中间加“.”,显示为“M.H”:
create or replace view v as
select 'Micheal Hartstein' as ai from dual;
登录后复制

SQL> select * from v;

AI
----------------------------------
Micheal Hartstein

我们可以利用regexp_replace的分组替换功能:
select regexp_replace(v.ai,'([[:upper:]])(.*)([[:upper:]])(.*)','\1.\3') as sx from v;

SX
------
M.H

括号()将子表达式分组为一个替换单元、量词单元或后向引用单元。
在这个查询中,我们用()把字符串分成了四个组,其中第1、3组中是大写字母,然后通过后向引用('\1.\3')就分别取到了两个组的大写字母,并在中间增加了字符“.”。

即是,将字符串拆分为(1)大写([[:upper:]]) (2)小写(.*) (3)大写([[:upper:]]) (4)小写(.*)四个部分,取其(1)(3)。

也可以使用前面介绍的translate函数。
第一步,先把字符串转换为小写,这样就得到了translate所需的参数2
select ai,lower(ai) as a2 from v;
登录后复制

AI                    A2
--------------------- ----------------------
Micheal Hartstein     micheal hartstein

第二步,把空格替换为“.”,小写字母(上面得到的a2)置空就是我们需要的数据。
select translate(ai,' '||a2,'.')as a3
 from (select ai,lower(ai) as a2 from v);
登录后复制

A3
------
M.H

8.按字符串中的数值排序
首先建立如下view,要求按照其中的数字排序:
create or replace view v as
select 'ACCOUNTING 10 NEW YORK' as data from dual union all
select 'OPERTIONS 40 BOSTON' as data from dual union all
select 'RESEARCH 20 DALLAS' as data from dual union all
select 'SALES 30 NEW CHICAGO' as data from dual;
登录后复制

SQL> select * from v;
登录后复制
登录后复制

DATA
--------------------------------------------
ACCOUNTING 10 NEW YORK
OPERTIONS 40 BOSTON
RESEARCH 20 DALLAS
SALES 30 NEW CHICAGO

我们可以用正则表达式替换非数字字符,语句如下:
select data,to_number(regexp_replace(data,'[^0-9]','')) as deptno from v order by 2;
登录后复制

DATA                          DEPTNO
----------------------------- ----------
ACCOUNTING 10 NEW YORK              10
RESEARCH 20 DALLAS                  20
SALES 30 NEW CHICAGO                30
OPERTIONS 40 BOSTON                 40

也可以使用translate函数,直接替换掉非数字字符:
select data,
    to_number(translate(data,'0123456789'||data,'0123456789')) as deptno from v order by 2;
登录后复制

DATA                          DEPTNO
----------------------------- ----------
ACCOUNTING 10 NEW YORK              10
RESEARCH 20 DALLAS                  20
SALES 30 NEW CHICAGO                30
OPERTIONS 40 BOSTON                 40

9.提取第n个分隔的子串
首先建立如下view,要求按照其中的数字排序:
create or replace view v as
select 'CLARK,KING,MILLER' as name from dual union all
select 'ADAMS,FORD,JONES,SCOTT,SMITH' as name from dual;
登录后复制

SQL> select * from v;
登录后复制

NAME
--------------------------------------
CLARK,KING,MILLER
ADAMS,FORD,JONES,SCOTT,SMITH

上面各行中的字符串用逗号分隔,现在要求将其中的子串中的KING与FORD取出来。
没有正则表达式之前需要找到逗号的对应位置,然后对字符串进行截取:
select name,
    第二个逗号后的位置,
    第三个逗号的位置,
    长度, substr(name,第二个逗号后的位置,长度) as 子串
  from (select name,
          instr(src.name, ',', 1, 2) + 1 as 第二个逗号后的位置,
          instr(src.name, ',', 1, (2+1)) as 第三个逗号的位置,
          instr(src.name, ',', 1, (2+1)) - instr(src.name, ',', 1, 2) - 1 as 长度
        from(select ',' || name || ',' as name from v)src
   )x;
登录后复制
                                                        
NAME                            第二个逗号后的位置   第三个逗号的位置       长度    子串
------------------------------  ------------------   ------------------    -------  -------
,CLARK,KING,MILLER,                     8                   12                4      KING

,ADAMS,FORD,JONES,SCOTT,SMITH,          8                   12                4      FORD

注:instr(sourceString,destString,start,appearPosition).   
其中sourceString代表源字符串;
destString代表想从源字符串中查找的子串;
start代表查找的开始位置,该参数可选的,默认为1;
appearPosition代表想从源字符中查找出第几次出现的destString,该参数也是可选的,默认为1;

而用正则表达函数regexp_substr就要简单的多:
select regexp_substr(v.name,'[^,]+',1,2) as 子串 from v;
登录后复制

子串
-------
KING
FORD

参数2:“^”在方括号里表示否的意思,+表示匹配1次以上,'[^,]+'表示匹配不包含逗号的多个字符,也就是本节view中的各个子串。

参数3:1表示从第一个字符开始。

参数4:2表示第二个能匹配'[^,]+'的字符串,也就是KING与FORD。

10.分析IP地址
本例要求把IP地址“192.168.1.118”中的各段取出来,用9节学到的方法,参数4分别取1,2,3,4即可:
select regexp_substr(v.ip, '[^.]+', 1, 1) a,
    regexp_substr(v.ip, '[^.]+', 1, 2) b,
    regexp_substr(v.ip, '[^.]+', 1, 3) c,
    regexp_substr(v.ip, '[^.]+', 1, 4) d
from (select '192.168.1.118' as ip from dual) v;
登录后复制

A      B      C  D
------ ------ -- ------
192    168    1  118

这是分拆字符常用的语句。

11.将分隔数据转换为多值IN列表
假设前端传入了一个字符串列表(如:张三,李四,李磊磊),要根据这个串查询数据:
select * from emp where ename in (...);
登录后复制

直接把张三,李四,李磊磊带入肯定是查不到数据的:
SQL> select * from emp where ename in ('张三,李四,李磊磊');
登录后复制

未选定行

我们需要做转换,这正是正则表达式的优势。
为了便于调用,我们先建立一个视图:
create or replace view v as
select '张三,李四,李磊磊' as emps from dual;
登录后复制

结合前面所讲的知识,正则表达式如下:
select regexp_substr(v.emps,'[^,]+',1,level) as name,level
   from v
connect by level <br>
NAME        LEVEL<br>
---------   --------<br>
张三        1<br>
<br>
李四        2<br>
<br>
李磊磊      3<br>
<br>
<br>
那么结合本句就可以达到本例的需求。<br>
<pre code_snippet_id="1692086" snippet_file_name="blog_20160522_37_6684991" name="code" class="sql">SQL> var v_emps varchar2(100);
SQL> exec :v_emps := '张三,李四,李磊磊';
登录后复制

PL/SQL 过程已成功完成。
SQL> select * from emp where ename in
     (
         select regexp_substr(:v_emps,'[^,]+',1,level) as ename from dual
         connect by level <br>
     EMPNO ENAME                JOB                       MGR HIREDATE         SAL       COMM     DEPTNO<br>
---------- -------------------- ------------------ ---------- --------------  ---------- ---------- ----------<br>
      1110 张三                 主管                     3322 12-3月 -14      5200                    20<br>
<br>
      1111 李四                 销售                     3321 03-11月-15      3400        500         30<br>
<br>
      1114 李磊磊               会计                     3319 22-12月-15      2500                    50<br>
<br>
注:exec 是 execute 的缩写,功能是执行一个存储过程,或者是执行一个动态SQL。<br>
<span style="color:#FF0000"><strong><br>
转载请注明出处:http://blog.csdn.net/acmman/article/details/51473622</strong></span><br>
   








登录后复制
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Hibernate 框架中 HQL 和 SQL 的区别是什么? Hibernate 框架中 HQL 和 SQL 的区别是什么? Apr 17, 2024 pm 02:57 PM

HQL和SQL在Hibernate框架中进行比较:HQL(1.面向对象语法,2.数据库无关的查询,3.类型安全),而SQL直接操作数据库(1.与数据库无关的标准,2.可执行复杂查询和数据操作)。

12306怎么查询历史购票记录 查看历史购票记录的方法 12306怎么查询历史购票记录 查看历史购票记录的方法 Mar 28, 2024 pm 03:11 PM

  12306订票app下载最新版是一款大家非常满意的出行购票软件,想去哪里就去那里非常方便,软件内提供的票源非常多,只需要通过实名认证就能在线购票,所有用户的出行车票机票都可以轻松买到,享受不同的优惠折扣。还能提前开启预约抢票,预约酒店、专车接送都是可以的,有了它想去哪里就去那里一键购票,出行更加简单方便,让大家的出行体验更舒服,现在小编在线详细为12306用户们带来查看历史购票记录的方法。  1.打开铁路12306,点击右下角我的,点击我的订单  2.在订单页面点击已支付。  3.在已支付页

百度网盘app怎么用 百度网盘app怎么用 Mar 27, 2024 pm 06:46 PM

在如今云存储已经成为我们日常生活和工作中不可或缺的一部分。百度网盘作为国内领先的云存储服务之一,凭借其强大的存储功能、高效的传输速度以及便捷的操作体验,赢得了广大用户的青睐。而且无论你是想要备份重要文件、分享资料,还是在线观看视频、听取音乐,百度网盘都能满足你的需求。但是很多用户们可能对百度网盘app的具体使用方法还不了解,那么这篇教程就将为大家详细介绍百度网盘app如何使用,还有疑惑的用户们就快来跟着本文详细了解一下吧!百度云网盘怎么用:一、安装首先,下载并安装百度云软件时,请选择自定义安装选

学信网如何查询自己的学历 学信网如何查询自己的学历 Mar 28, 2024 pm 04:31 PM

学信网如何查询自己的学历?在学信网中是可以查询到自己的学历,很多用户都不知道如何在学信网中查询到自己的学历,接下来就是小编为用户带来的学信网查询自己学历方法图文教程,感兴趣的用户快来一起看看吧!学信网使用教程学信网如何查询自己的学历一、学信网入口:https://www.chsi.com.cn/二、网站查询:第一步:点击上方学信网地址,进入首页点击【学历查询】;第二步:在最新的网页中点击如下图箭头所示的【查询】;第三步:之后在新页面点击【的登陆学信档案】;第四步:在登陆页面输入信息点击【登陆】;

网易邮箱大师怎么用 网易邮箱大师怎么用 Mar 27, 2024 pm 05:32 PM

网易邮箱,作为中国网民广泛使用的一种电子邮箱,一直以来以其稳定、高效的服务赢得了用户的信赖。而网易邮箱大师,则是专为手机用户打造的邮箱软件,它极大地简化了邮件的收发流程,让我们的邮件处理变得更加便捷。那么网易邮箱大师该如何使用,具体又有哪些功能呢,下文中本站小编将为大家带来详细的内容介绍,希望能帮助到大家!首先,您可以在手机应用商店搜索并下载网易邮箱大师应用。在应用宝或百度手机助手中搜索“网易邮箱大师”,然后按照提示进行安装即可。下载安装完成后,我们打开网易邮箱账号并进行登录,登录界面如下图所示

BTCC教学:如何在BTCC交易所绑定使用MetaMask钱包? BTCC教学:如何在BTCC交易所绑定使用MetaMask钱包? Apr 26, 2024 am 09:40 AM

MetaMask(中文也叫小狐狸钱包)是一款免费的、广受好评的加密钱包软件。目前,BTCC已支持绑定MetaMask钱包,绑定后可使用MetaMask钱包进行快速登入,储值、买币等,且首次绑定还可获得20USDT体验金。在BTCCMetaMask钱包教学中,我们将详细介绍如何注册和使用MetaMask,以及如何在BTCC绑定并使用小狐狸钱包。MetaMask钱包是什么?MetaMask小狐狸钱包拥有超过3,000万用户,是当今最受欢迎的加密货币钱包之一。它可免费​​使用,可作为扩充功能安装在网络

小米汽车app怎么用 小米汽车app怎么用 Apr 01, 2024 pm 09:19 PM

小米汽车软件提供远程车控功能,让用户可以通过手机或电脑远程控制车辆,例如开关车辆的门窗、启动引擎、控制车辆的空调和音响等,下文就是这个软件的使用及内容,一起了解下吧。小米汽车app功能及使用方法大全1、小米汽车app在3月25日上线苹果AppStore,现在安卓手机的应用商店中也可以下载了;购车:了解小米汽车核心亮点和技术参数,可预约试驾、配置订购您的小米汽车,支持在线处理提车待办事项。3、社区:了解小米汽车品牌资讯,交流用车体验,分享精彩车生活;4、车控:手机就是遥控器,远程控制,实时安防,轻

python怎么重复字符串_python重复字符串教程 python怎么重复字符串_python重复字符串教程 Apr 02, 2024 pm 03:58 PM

1、首先打开pycharm,进入到pycharm主页。2、然后新建python脚本,右键--点击new--点击pythonfile。3、输入一段字符串,代码:s="-"。4、接着需要把字符串里面的符号重复20次,代码:s1=s*20。5、输入打印输出代码,代码:print(s1)。6、最后运行脚本,在最底部会看到我们的返回值:-就重复了20次。

See all articles