Tcl/TK基础语法学习(三)---字符串

2023-11-05

#字符串表示

#字符串本身可以不用单独标识,不含空格时
#字符串使用“”或者{}
#字符串本身带双引号的用 \ 或 {}

set sample  "He said, 
    \" which is a sample comment \" \n "
puts $sample 

=>
He said, 
    " which is a sample comment " 

#指定重复次数#string repeat

puts [string repeat $sample 2]
=>
He said, 
    " which is a sample comment " 
 He said, 
    " which is a sample comment " 

#指定字符类型 sting is 返回 0/1

#字母、数字
puts [string is alpha $sample]
puts [string is alnum $sample]
=>
0
0

#字符串长度 string length 包括空格

puts [string length $sample]
=>
46

#索引值

#字符定位:索引值
# 字符       H      E       L       L               O
# 索引值1    0      1       2       3       4       5
# 索引值2    end-5  end-4   end-3   end-2   end-1   end

#字符索引string index

#end-5 之间不能有空格

puts [string index $sample 1] 
puts [string index $sample end-5]
=>
e
d

#字符获取 sring range $c x y

# x < y 返回字符串
# x = y 返回xy对应字符
# x > y 返回空
puts [string range  $sample 2  5] 
puts [string range  $sample 4  4] 
=>
 sai
a

#字符串添加拼接 append

set str1  hello
set str2  tcl
puts [set str3 $str1$str2]
puts [append str1 $str2 ]
=>
hellotcl
hellotcl

#字符串删除与替换string replace

#三个参数  字符串删除 
puts [string replace $str1 0 3]
#四个参数 字符替换
puts [string replace $str1 0 3 $str2 ]
=>
otcl
tclotcl

#字符串比较 string compare x y

# x 先于 y  返回 -1
# x  =   y  返回 0
# x 后于 y  返回 1
# -nocase  不考虑大小写
# -length i 比较前i个字符
set str1  tck
set str2  tcl
puts [string compare $str1 $str2 ]
puts [string compare -length 2 $str1 $str2 ] 
=>
-1
0

#string equal 判断是否相等,相等返回1 否则0
#与compare用法一致

#返回每次执行时间time

puts [ time { string compare $str1 $str2 } 1000 ]
=>
0.2065 microseconds per iteration

#字符串索引

string first 从头索引,返回第一个索引值
string last 从尾索引,返回最后一个索引值
string first th $str  25 
string last th $str 35

#字符匹配通配符

string match
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Tcl/TK基础语法学习(三)---字符串 的相关文章

随机推荐

  • IDEA编译报错:java.lang.OutOfMemoryError: Java heap space和java.lang.StackOverflowError

    名词解释 java lang OutOfMemoryError 内存不足错误 java lang StackOverflowError 栈溢出错误 用Intellij IDEA开发应用时 如果编译的代码量很大 会碰到 java lang O
  • 决策树(统计学习方法(李航))的贷款的例子的实现

    以统计学习方法 李航 这本书的例子为基础 需要注意的地方 我用的是pycharm python版本是3 7 graphviz是一个软件 在pycharm里面下了还得去官网下 下完之后得加入环境变量可能还需要重启电脑 缺啥库就安啥库 那个数据
  • Mybatis的缓存机制及其使用

    一 什么是缓存 Cache 缓存有什么作用 1 存在内存中的临时数据 2 将用户经常查询的数据放在缓存 内存 中 用户查询数据时就不需要在从磁盘上 关系型数据库数据文件 查询 直接从缓存中查询 从而提高了查询效率 解决了高并发系统的性能问题
  • docker安装elasticsearch(一条龙服务)

    目录 安装elasticsearch 0 资料 1 部署单点es 1 1 创建网络 1 2 加载镜像 1 3 运行 2 部署kibana 2 1 部署 2 2 DevTools 3 安装IK分词器 3 1 在线安装ik插件 较慢 3 2 离
  • LeetCode-3. 无重复字符的最长子串

    题目 给定一个字符串 请你找出其中不含有重复字符的 最长子串 的长度 示例 1 输入 abcabcbb 输出 3 解释 因为无重复字符的最长子串是 abc 所以其长度为 3 示例 2 输入 bbbbb 输出 1 解释 因为无重复字符的最长子
  • 12个爆款 Java 开源项目

    1 JavaGuide https github com Snailclimb JavaGuide Star 10503 Java学习 面试指南 一份涵盖大部分Java程序员所需要掌握的核心知识 2 symphony https githu
  • 进度管理计划7个过程及相关重点

    概述 1 规划进度管理 规划 编制 管理 执行和控制项目进度而制定政策 程序和文档过程 2 定义活动 识别和记录为完成项目可交付成果而采取的具体行动的过程 3 排列活动顺序 识别和记录项目活动之间的关系的过程 4 估算活动资源 估算执行各项
  • RKNN-ToolKit2 1.5.0安装教程

    引言 由于种种原因需要用到开发版RK3568 需要预先安装RKNN Toolkit2进行模型转化等 博主安装的版本是1 5 0 Ubuntu版本是20 04 python版本3 6 一 虚拟环境创建 1 为了隔离环境 我们采用conda创建
  • C++网络编程

    文章目录 网络通信socket 网络通信的过程 C 网络编程常用API 客户端网络通信过程与常用API 1 创建套接字 int socket int family int type int protocol 2 客户端请求连接函数 int
  • 软考考点之数据库关系运算符含义的理解

    如 2018上半年 第70题 给定关系 R A B C D E 与S B C F G 那么与表达式 2 4 6 7 2 lt 7 R S 等价的SQL语句 如下 SELECT 69 FROM R S WHERE 70 69 A R B D
  • springboot启动三部曲(Eclipse)

    开始前准备事项 JDK Eclipse Maven安装 一 创建maven项目 创建完成后项目目录如下 x
  • 解决uni.getLocation用户端首次拒绝后,点第二次不会再调用的问题

    解决方案 给与用户手动指引开启手机定位 效果 测试机为iphone11 机型不一样可能效果会有差别
  • pandas 实现 Excel 常见操作 (2)

    接下来介绍 pandas 的基本操作中 大体相当于 Excel 的合计 小计 subtotal 和数据透视表的方法 pandas 的数据统计功能比 Excel 强大很多 方式也更加灵活 Excel 问题之一就是数据的存储和显示不分离 而 p
  • 今夜科技谈

    我们希望 AI 能越来越聪明 但又害怕它们过于聪明 AlphaCode 超半数程序员的自主编程 AI 2 月 2 日 DeepMind 在官方博客中 介绍了他们最新的研发成果 AlphaCode AlphaCode 是一个可以自主编程的系统
  • Spring入门:IOC和DI (基于XML)

    目录 Spring的IOC ApplicationContext的三个常用实现类 ApplicationContext与BeanFactory的区别 Spring管理Bean的细节 1 创建Bean的三种方式 方式1 默认构造函数创建 方式
  • Gooey使用python打包后,print不能输出到GUI的命令行窗口内的问题解决

    为了给自己的图片接口站api horosama com补充图片 写了个壁纸爬虫程序 同时用Gooey做了个简单的GUI 然而 程序在vscode里直接运行的时候 是可以print函数输出到GUI的命令行窗口的 用pyinstaller打包之
  • QT QLine 使用详解

    本文详细的介绍了QLine控件的各种操作 例如 新建界面 源文件 设置属性 设置宽度 最小宽度 样式表 其它文章等等操作 实际开发中 一个界面上可能包含十几个控件 手动调整它们的位置既费时又费力 QLine表示平面上整数精度的二维向量 用于
  • Mybatis获取自动增长Id

    Mybatis获取自动增长Id MyBatis成功插入后获取自动增长的id 1 向xxMapping xml配置中加上两个配置
  • 基于51单片机温度控制风扇转动

    基于51单片机温度控制风扇转动 实验是在郭天祥老师的51单片机实验教程上做的改动 实验要求 数码管上显示的温度大于要求的温度时 这里设定是34度 风扇转动 实验步骤 1 温度传感器获得温度 2 对数据进行处理 3 把温度显示到数码管上 4
  • Tcl/TK基础语法学习(三)---字符串

    字符串基本用法 字符串表示 指定重复次数 string repeat 指定字符类型 sting is 返回 0 1 字符串长度 string length 包括空格 索引值 字符索引string index 字符获取 sring range