首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在TCL列表中获取“多字”、“单字”和空字符串?我得到一个“非统一的”大括号格式化字符串的列表

在TCL中,可以使用以下方法来获取TCL列表中的“多字”、“单字”和空字符串:

  1. 获取“多字”字符串:使用TCL的字符串操作函数,例如string length函数可以获取字符串的长度,通过判断长度是否大于1来确定是否为“多字”字符串。
代码语言:txt
复制
set myList {apple banana orange}
set multiCharList [list]
foreach item $myList {
    if {[string length $item] > 1} {
        lappend multiCharList $item
    }
}
  1. 获取“单字”字符串:同样使用字符串操作函数,通过判断长度是否等于1来确定是否为“单字”字符串。
代码语言:txt
复制
set singleCharList [list]
foreach item $myList {
    if {[string length $item] == 1} {
        lappend singleCharList $item
    }
}
  1. 获取空字符串:使用TCL的条件判断语句,通过判断字符串是否为空来确定是否为空字符串。
代码语言:txt
复制
set emptyStringList [list]
foreach item $myList {
    if {$item eq ""} {
        lappend emptyStringList $item
    }
}

以上代码示例中,$myList是一个TCL列表,包含了一组字符串。通过遍历列表中的每个元素,使用条件判断和字符串操作函数来筛选出符合条件的字符串,并将其添加到对应的列表中。

对于“非统一的”大括号格式化字符串的列表,可以使用TCL的regexp函数进行匹配和提取。具体的处理方式取决于字符串的具体格式和规则。在这里,我们假设字符串的格式为{string1} {string2} {string3},即每个字符串都被大括号包围,并且每个字符串之间由空格分隔。

代码语言:txt
复制
set myString "{apple} {banana} {orange}"
set extractedList [list]
regexp -all {\{([^}]*)\}} $myString match -inline
for {set i 1} {$i < [llength $match]} {incr i} {
    lappend extractedList [lindex $match $i]
}

以上代码示例中,使用regexp函数和正则表达式{\{([^}]*)\}}来匹配大括号中的内容,并将匹配到的字符串添加到extractedList列表中。

请注意,以上代码示例仅为演示目的,实际应用中需要根据具体情况进行适当的修改和调整。

关于TCL的更多信息和详细用法,请参考腾讯云的TCL开发文档:TCL开发文档

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

python_列表_元组_字典

它们使用字符串使用效果致。...'sex':'f', 'address':'地球亚洲中国上海'} info['name'] # 字典使用键来获取对应值 Copy 说明: 字典列表样,也能够存储多个数据 列表找某个元素时,是根据下标进行...print(info.get('sex')) # 获取不存在key,获取内容,不会出现异常 print(info.get('sex', '男')) # 获取不存在key, 可以提供一个默认值...i += 1 ... 0 a 1 b 2 c 3 d Copy enumerate() enumerate() 函数用于将一个可遍历数据对象(列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标...概念: str.format() 方法通过字符串大括号{} 来识别替换字段 replacement field,从而完成字符串格式化

2.2K30

C++ Qt开发:运用QJSON模块解析数据

配置文件ObjectInArrayJson则是一个字典嵌套了另外两个字典而每个字典值又是一个Value数组,而与之相对应ArrayJson则是在列表嵌套了另外一个列表,这两结构使用读者可参照如下案例...ComBobox列表框内,输出效果如下;1.4 解析多字典键值实现解析字典嵌套多个参数或字典嵌套参数包含列表数据集,配置文件ObjectJson则是字典存在多个键值对,而ObjectArrayJson...,解析多字嵌套数组,配置文件ObjectArrayJson则是我们需要解析内容,在之前解析字典部分保持与上述案例致,唯不同是我们需要通过value("ulist").toArray(...如下案例,当读者点击初始化按钮时我们首先让字典数据填充之ComboBox列表,接着当读者点击第一个列表框时我们让其过滤出特定内容并赋值到第二个列表,以此实现联动效果,首先初始化部分如下所示...1.5 解析多字典嵌套实现解析多个字典嵌套或多个列表嵌套结构,配置文件NestingObjectJson则是字典嵌套字典,而ArrayNestingArrayJson则是列表嵌套列表,两种解析方式基本

17010

第十讲:Python 数据类型总结

字符串可以使用单引号、双引号、三单引号三双引号来创建 b. 三引号可以多行定义字符串,它也可以是说明性注释信息 c. Python 是不支持单字单字符也是作为一个字符串来使用 d....字典键必须是唯,且不可变,但值则不必,值可以取任何数据类型,字符串,数字或元组 e....字典一个键值(key=>value)对用冒号(:)分割,每个键值对之间用逗号(,)分割,整个字典包括在花括号({}) f....:无序,即无序存储索引相关信息 字典:无序,需要存key与value映射相关信息 4 不可变可变我们如何理解 不可变:是指该值类型变量指向空间所存储地址是不变(我们可以通过id(x)来获取地址...可变:是指变量值可以发生改变,但是当其值改变时并不会改变地址值(也就是id(x)得到那个值) ,我们可以定义一个list1, 看看它id(list1) 值是多少?

58140

Python编程思想:格式化字符串

句问候语:“Hello 李宁”,其中“Hello”是固定,但“李宁”可能变成任何一个名字,“乔布斯”,所以在这个字符串,“Hello”是固定部分,而“李宁”是动态变化部分,因此,需要用...(s='Python')) # 当格式化参数是一个字符串部分时,为了字符串其他部分区分开, # 需要用大括号格式化参数变量括起来 template2 = Template("${s}stitute...字符串format方法 字符串本身也有一个format方法用于格式化当前字符串。这个format方法前面讲格式化操作符(%)不太样。...通过format方法传入3个值(1,2,3),这3个值会按顺序替换格式化字符串3对大括号。 命名格式化参数是指在大括号中指定一个名称,然后调用format方法时也要指定这个名称。...更进步控制字符串格式化参数 format方法功能远不止这些,在大括号添加字符串格式化类型符,可以对格式化字符串进行更多控制。

1.3K10

python3------基础语法

float(浮点)    str(字符串)    complex(复数)    str --> int   int("10")    小知识:eval获取字符串原始数据 ?  ...  %x:输出16进制类型   hw = "hello world"   print("%s"  %hw) Python2.6 开始,新增了格式化字符串函数 str.format(),它增强了字符串格式化功能...);       字符串样,列表可以被索引切片;       list元素是可以改变。  ...字典是种映射类型,用{ }标识,是一个无序key:value对集合;        在同一个字典,key必须是唯;        创建字典用{ }。...9 数值运算   + - * /  //  %  **   其中 / // 区别:   /:除法得到一个浮点数   //:除法得到一个整数   **:乘方     注意:python可以同时为多个变量赋值

59410

SQL中使用符号

某些 SQL标准扩展一个字符,包括字符串排序函数(%SQLUPPER)、聚合函数(%DLIST)谓词条件(%startswith)。...SELECT%ID、%TABLENAME%CLASSNAME关键字一个字符。些特权关键字(%CREATE_TABLE、%ALTER)些角色名(%ALL)一个字符。...在GRANTREVOKE,所有基本权限、所有表或所有当前定义用户。 %MATCHES 模式字符串多字符通配符。乘法算术运算符。 */ 星号斜杠:多行注释结束指示符。注释以/*开头。...问号(63):在动态SQL,由Execute方法提供输入参数变量。%MATCHES 模式字符串单字符通配符。在SQL Shell?命令显示SQL Shell命令帮助文本。...用于WHERE子句、HAVING子句其他地方。 [ ] 左方括号右方括号:在%Matches模式字符串,将匹配字符列表或范围括起来。例如,[abc]或[a-m]。

4.3K20

Python3快速入门(三)——Pyth

Python不支持单字符类型,单字符在Python 也是作为一个字符串使用。 Python 访问子字符串,可以使用方括号来截取字符串。 #!...Python 不支持单字符类型,单字符在 Python 作为一个字符串使用。...如果不指定开始索引或结束索引,表示从第0个元素开始或是到最后一个元素结束。 5、字符串格式化 Python 支持格式化字符串输出 ,基本用法是将一个值插入到一个字符串格式符 %s 字符串。...序列每个元素都分配一个数字作为索引,第一个索引是0,第二个索引是1,依此类推。 Python常见序列是字符串列表元组。 序列都可以进行操作包括索引,切片,加,乘,检查成员。...七、集合 1、集合 集合(set)是一个无序无重复元素序列,可以使用大括号 { } 或者 set() 函数创建集合。创建一个空集合必须用 set() 而不是 { },{ } 用来创建一个字典。

3.6K20

c标准库总结

sprintf发送格式化输出到字符串sscanf从字符串读取格式化输入vfprintf使用参数列表发送格式化输出到流vfscanf从流执行格式化输入vprintf使用参数列表发送格式化输出到标准输出...stdoutvscanf字符串格式化输入函数vsnprintf从参数列表格式化输出到buffervsprintf从参数列表格式化输出到字符串vsscanf从字符串格式输入到参数列表fgetc从流一个字符...puts写字符串到标准输出ungetc把一个字符推入到指定,以便它是下一个被读取到字符fread从指定读取数据到所指向数组fwrite写数据到指定fgetpos获取的当前位置...c位置strcspn检索字符串str1连续几个字符都不包含字符串str2字符strpbrk检测str1一个匹配字符串str2字符字符,不包含结束字符strrchr在参数str只想字符串搜索最后次出现字符...从流格式化数据getwc从流获取宽字符getwchar从标准输入获取宽字符putwc给流写宽字符putwchar给标准输出写宽字符swprintf写格式化数据到宽字符串swscanf从流格式化数据

1.4K21

c标准库总结

sprintf发送格式化输出到字符串sscanf从字符串读取格式化输入vfprintf使用参数列表发送格式化输出到流vfscanf从流执行格式化输入vprintf使用参数列表发送格式化输出到标准输出...stdoutvscanf字符串格式化输入函数vsnprintf从参数列表格式化输出到buffervsprintf从参数列表格式化输出到字符串vsscanf从字符串格式输入到参数列表fgetc从流一个字符...puts写字符串到标准输出ungetc把一个字符推入到指定,以便它是下一个被读取到字符fread从指定读取数据到所指向数组fwrite写数据到指定fgetpos获取的当前位置...c位置strcspn检索字符串str1连续几个字符都不包含字符串str2字符strpbrk检测str1一个匹配字符串str2字符字符,不包含结束字符strrchr在参数str只想字符串搜索最后次出现字符...从流格式化数据getwc从流获取宽字符getwchar从标准输入获取宽字符putwc给流写宽字符putwchar给标准输出写宽字符swprintf写格式化数据到宽字符串swscanf从流格式化数据

1.2K30

Python 3 学习笔记:序列

序列相乘 数学意义上乘法就是将一个数重复相加若干次之后得到一个结果,序列乘法同样如此,也是将一个序列重复拼接若干次之后得到一个序列。...(symbol) 复制 格式化字符串 格式化字符串是指先制定一个模版,在这个模版预留几个空位,然后再根据需要填上相应内容。...count() 方法可以获取列表某个元素个数, 1 list.count(element) 复制 获取某个元素首次出现索引 通过列表 index() 方法可以获取指定元素在该列表次出现索引...如果想不区分大小写排序,需要指定 key 参数值, key=str.lower 。 而且,需要注意如果一个列表元素既有数字,又有字符串,则无法使用 sort() 方法进行排序。...我们也可以使用 set() 函数将列表、元组转换成集合, 1 set = set(list/tuple) 复制 如果我们想创建一个空集合,也只能使用 set() 方法,而不使用大括号(因为大括号表示一个字典

2.1K10

python字符串方法详解

基本操作  len()、max()、min(),获取数据长度、序列中元素最大、最小值,sum()获取列表或元组中元素之和 tip:min max返回是值不是位置索引(区别于R)字节数据返回ASCII...字符串操作符  操作符及使用描述x + y连接字符串xyn * x / x * n字符串x复制n次x in s如果x是s子串返回True,否则False 字符串类型格式化  字符串格式化用于解决字符串变量同时输出时格式安排...,将一个值插入到一个字符串格式符%s字符串。...大家注意区分哦~ 再补充点: istitle函数,即使首字母字符前面有非字母字符,中文、数字、下划线等,也不影响对首字母字符判断,但是每组必须第一个字母大写,后续字母小写,后续字母大写也会报错哦~...如果搜索不到sep,返回3元组,有两个元素是,partition后两个元素是,rpartition前两个是

1.1K00

tcl三部曲()、替换、引用与匹配

每条命令都包含一个或多个单词,第一个单词是命令名,其他参数都是命令参数,例如“set a 1”:set是命令名,a1是参数。...条命令可以含有任意多个单词,每个单词都可以是任意字符串值,分隔单词空白不是单词部分,分隔命令换行符也不是单词部分。...,只是当做一个字符串看待。...glob返回一个列表形式返回值,类似于一个数组,当直接使用filedelete [glob *.v]进行删除时会失败是因为此时操作对象是list地址,而非list多个元素,所以使用{*}对列表地址进行解析...大括号最重要一个功能就是“延期处理”,延期处理时特殊字符被当做参数传递给命令过程,命令过程自己处理处理这些特殊字符,实际上命令过程也是拿到这些特殊字符后给Tcl解释器处理,例如: 统计在列表某个特定值出现次数

3.7K10

tcl三部曲(三)、数组、流控制与函数

数组是元素集合,每一个元素是由自己名称变量(变量组成:变量名变量值)。 数组元素名称由两部分组成:数组名和数组元素名。数组名元素名都可以是任意类型字符串。...数组元素使用month(May)这样形式,即数组名(此处是month)加上圆括号元素名(这里是May)。可以使用简单变量地方都可以使用数组,例如set命令: ?...2、if{之间要有一个空格,否则Tcl解析器会把他们当做一个整体,从而导致报错。 example1: ?...流控制之while 格式 while test body test是一个表达式,body是一个脚本,body是一个脚本,如果表达式非0,则运行脚本,知道表达式等于0才停止循环,此时while命令中断,返回一个字符串...example3: 在下述语句中,分别依次取a列表b列表元素附加在x元素使用{}标识。 ? 同上: ? example4 ? 流控制之switch 格式: switch ?

2K20

【Java 进阶篇】JSP EL 详解

在这个示例,如果用户年龄等于 18,将显示 “You are 18 years old!”。 集合 EL 允许您访问集合(列表、映射和数组)元素。您可以使用点号 ....括号 [] 来访问元素。例如,${items[0]} 将获取列表一个元素。...您可以使用 [index] 来获取特定索引元素,使用 first last 来检查是否是第一个或最后一个元素,以及使用 length 来获取数组或列表长度。...这些函数允许您执行各种操作,从字符串操作到日期格式化,甚至是数学运算。以下是些常用 EL 内置函数: fn:length():获取集合长度。 fn:substring():截取字符串子串。...这将返回一个字符串,表示用户在表单字输入值。

32170

8种常见Java不规范代码

在工作上,最近对一个现有的Java项目代码进行了清理。完成之后,发现了些反复出现不规范代码。所以,把它们整理成了一个列表出来分享给我同行希望能引起注意并改善代码质量可维护性。...这个列表不区分顺序,全部来自些代码质量检查工具, CheckStyle, FindBugs PMD。...避免在方法中出现多个return语句(退出点): 在你方法,确保只有一个 退出点。不要在一个方法中使用多于一个return语句。...在代码块周围使用大括号: 永远不要忘记在块类型语句(:if,for,while)周围使用大括号。这可以减少代码歧义并且避免在你修改代码块时候产生新bug。 不推荐 ?...避免 重复 使用同样字符串,创建一个常量吧: 如果你需要在多个地方使用同一个字符串,那就创建一个字符串常量来使用吧。 下面的代码: ?

73410

8种常见Java不规范代码

在工作上,最近对一个现有的Java项目代码进行了清理。完成之后,发现了些反复出现不规范代码。所以,把它们整理成了一个列表出来分享给我同行希望能引起注意并改善代码质量可维护性。...这个列表不区分顺序,全部来自些代码质量检查工具, CheckStyle, FindBugs PMD。...避免在方法中出现多个return语句(退出点): 在你方法,确保只有一个 退出点。不要在一个方法中使用多于一个return语句。...在代码块周围使用大括号: 永远不要忘记在块类型语句(:if,for,while)周围使用大括号。这可以减少代码歧义并且避免在你修改代码块时候产生新bug。 不推荐 ?...避免 重复 使用同样字符串,创建一个常量吧: 如果你需要在多个地方使用同一个字符串,那就创建一个字符串常量来使用吧。 下面的代码: ?

85230

Django之Template介绍及日常应用

Django模板语言 Django模板是一个简单文本文档,或用Django模板语言标记一个Python字符串。 某些结构是被模板引擎解释识别的。主要有变量标签。...3 {% for %} 用来循环一个list,还可以使用reserved关键字来进行倒序遍历,般可以用if语句来西先判断列表是否为,在进行遍历;还可以使用empty关键字来进行为时候跳转。...值,判断是不是循环最后一个元素 forloop.parentloop: 用在嵌套循环中,得到parent循环引用,然后可以使用以上参数 4 {% cycle %} 在循环是轮流使用给定字符串列表值...12 escapejs 替换value某些字符,以适应JAVASCRIPTJSON格式 13 filesizeformat 格式化文件大小显示 14 first 返回列表一个值 15 last...返回列表最后一个值 16 floatformat 格式化浮点数 17 length 求字符串或者列表长度 18 length_is 比较字符串或者列表长度 19 urlencode 对URL进行编码处理

1.3K20

Python3入门学习.md

单引号双引号使用完全相同且字符串 不能被改变,使用三引号(‘’’或”””)可以指定一个多行字符串进行跨行,WYSIWYG(所见即所得)格式; Python 不支持单字符类型,单字符在 Python...也是作为一个字符串使用, str =’a’ ;字符串可以包含换行符、制表符以及其他特殊字符。...Python字符串格式化 Python字符串格式化: 基本用法是将一个值插入到一个字符串格式符 %s 字符串,与 C sprintf 函数语法。 ? Python字符串格式化 ?...1 到索引 4 位置并设置为步长为 2(间隔一个位置)来截取字符串; 3)通过赋值得到列表,会 随着父列表顺序变化而变化, 4.3.4 元组(tuple) 元组tuple是戴上了 枷锁列表(与数值...3) 元组/列表/字符串都属于 sequence(序列)都有共同点:通过索引获取元素(支持负数索引),可通过分片方法得到一个范围内元素集合,有很多共同操作符 重复操作符,拼接操作符,成员关系操作符

1.4K20

1.Python3基础入门学习笔记()

单引号双引号使用完全相同且字符串 不能被改变,使用三引号(‘’’或”””)可以指定一个多行字符串进行跨行,WYSIWYG(所见即所得)格式; Python 不支持单字符类型,单字符在 Python...也是作为一个字符串使用, str =’a’ ;字符串可以包含换行符、制表符以及其他特殊字符。...Python字符串格式化 Python字符串格式化: 基本用法是将一个值插入到一个字符串格式符 %s 字符串,与 C sprintf 函数语法。...4 位置并设置为步长为 2(间隔一个位置)来截取字符串; 3)通过赋值得到列表,会 随着父列表顺序变化而变化, 4.3.4 元组(tuple) 元组tuple是戴上了 枷锁列表(与数值/字符串类型样不能随意对其元素改变...3) 元组/列表/字符串都属于 sequence(序列)都有共同点:通过索引获取元素(支持负数索引),可通过分片方法得到一个范围内元素集合,有很多共同操作符 重复操作符,拼接操作符,成员关系操作符

87320
领券