AWTK fscript 中的字符串扩展函数

server/2024/9/18 12:49:05/ 标签: AWTK, fscriipt

fscript 是 AWTK 内置的脚本引擎,开发者可以在 UI XML 文件中直接嵌入 fscript 脚本,提高开发效率。本文介绍一下 fscript 中的 字符串扩展函数

字符串扩展函数

1.ulen

获取 unicode 字符个数。


原型
ulen(str) => int
示例
print(ulen('致远电子'))

2.char_at

获取指定位置的字符。


原型
char_at(str, index) => str

index 为负数时,从后往前取。比如-1 表示最后一个元素。

示例
print(char_at('致远电子', 1))
print(char_at('ZLG', 1))

3.index_of

查找指定子串的位置,如果没有找到返回-1。


原型
index_of(str, substr) => int
示例
print(index_of('hello AWTK and AWTK', 'AWTK'))

4.last_index_of

反向查找指定子串的位置,如果没有找到返回-1。


原型
last_index_of(str, substr) => int
示例
print(last_index_of('hello AWTK and AWTK', 'AWTK'))

5.trim_left

去掉字符串左边的空白字符。


原型
trim_left(str) => str
示例
print(trim_left('   AWTK  '))

6.trim_right

去掉字符串右边的空白字符。


原型
trim_right(str) => str
示例
print(trim_right('   AWTK  ') + "1234")

7.totitle

将字符串中单词的首字母转换成大写。


原型
totitle(str) => str
示例
print(totitle("it is ok!"))

8.prompt

在控制台提示用户输入字符串(仅当定义了 HAS_STIOD 时有效)。


原型
prompt(tips) => str
示例
var a = prompt('input a number:');
print(int(a)+100);

9.usubstr

取子字符串(unicode)。


原型
usubstr(str, start, end) => str
  • 不包括end
  • start 为负数时,从后往前取。比如-1 表示最后一个元素。
  • end 为负数时,从后往前取。比如-1 表示最后一个元素。
  • end 省略表示到最后全部元素。
示例
var a="致远电子"
assert(usubstr(a) == '致远电子');
assert(usubstr(a,0) == '致远电子');
assert(usubstr(a,0,1) == '致');
assert(usubstr(a,0,-1) == '致远电');
assert(usubstr(a,-2,-1) == '电');
assert(usubstr(a, -3) == '远电子');

10.text_reverse

字符串反向


原型
text_reverse(str) => str
示例
print(text_reverse("hello"));

11.text_count

统计子串出现的次数。


原型
text_count(str, substr) => int
示例
print(text_count("hello zlg!", "zlg"));

12.str_len

计算字符串的长度。


原型
str_len(str) => uint32
示例
print(str_len("hello"));

13.str_is_empty

判断字符串是否为空。


原型
str_is_empty(str) => bool
示例
print(str_is_empty(""));
print(str_is_empty("zlg"));

14.str_append

追加字符串。


原型
str_append(str, append_str) => str
示例
print(str_append("hello ", "zlg"));

15.char_at_first

获取首字符。


原型
char_at_first(str) => str
示例
print(char_at_first("hello"));

16.char_at_last

获取尾字符。


原型
char_at_last(str) => str
示例
print(char_at_last("hello"));

17.char_at_random

获取随机位置的字符。


原型
char_at_random(str) => str
示例
print(char_at_random("hello"));

http://www.ppmy.cn/server/110151.html

相关文章

讯鹏科技智慧公厕专业供应商,解读智慧公厕有哪些奥秘

在当今科技日新月异的时代,讯鹏科技作为智慧公厕专业供应商,以其先进的技术和创新的解决方案,为人们带来了全新的公共卫生体验。那么,智慧公厕究竟有哪些奥秘呢?让我们一同解读。 一、智慧公厕硬件 1. 环境监测传感器&…

【软考】事务管理

目录 1. 说明2. 事务四大特性3. 例题3.1 例题1 1. 说明 1.事务是一个操作序列,这些操作“要么都做,要么都不做”,是数据库环境中不可分割的逻辑工作单位。2.事务和程序是两个不同的概念,一般一个程序可包含多个事务。3.在 SOL 语…

C++战列舰小游戏Lv. 1.2版本(半成品)

这是一组初始数据: a[1].gas1000; a[1].attack0; a[1].att_10; a[1].att_20; a[1].att_30; a[1].att_40; a[1].fire0; a[1].gas_good0.9; a[1].guard0; a[1].HP15000; a[1].name"初级战列舰"; a[1].HPm1500…

并发编程之AtomicUnsafe魔法类详解

并发编程之Atomic&Unsafe魔法类详解_并发魔法类-CSDN博客

智能分拣投递机器人

产品介绍 自研智能分拣投递机器人,专注于物流行业“NC小件”的分拣与投递,机器人运行稳定、分拣效率高,搭配智能分拣投递系统单台机器人最大作业效率可达400件/H,投递效率相较于传统“小黄人“提升了30%-50%,可替代“…

C语言——插入排序

先将序列的第1个记录看成是一个有序的子序列&#xff0c;然后从第2个记录逐个进行插入&#xff0c;直至整个序列有序为止。 #include <stdio.h> #include <stdlib.h> void insertion_sort(int *arr, int n) { for (int i 1; i < n; i) { int …

【Python】--- 基础语法(上)

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏&#xff1a; Python 本篇博客博主将分享一些python的基础语法。 &#x1f3e0; 常量和表达式 我们可以把Python当成一个计算器,进行一些简单的算术运算 print(1 …

Python 潮流周刊#67:uv 的重磅更新(摘要)

本周刊由 Python猫 出品&#xff0c;精心筛选国内外的 250 信息源&#xff0c;为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景&#xff1a;帮助所有读者精进 Python 技术&#xff0c;并增长职业和副业的收入。 分享了 12 篇文章&…

分享一些实际应用 Spring Boot AOP 的项目案例

一、在线教育平台项目 日志记录&#xff1a; 在学生登录、选课、提交作业等操作时&#xff0c;使用 AOP 记录详细的日志信息。例如&#xff0c;当学生登录时&#xff0c;记录学生的用户名、登录时间、登录 IP 地址等信息。这样可以方便后期进行用户行为分析和安全审计。对于教师…

html5-新标签

年龄稍大一点的码农可能见证了html的发展&#xff0c;亲历了头声明的变化&#xff0c;但是现在起步就是html5,那么html有哪些不为大家常用的新东西呢&#xff0c;这一章我先来谈谈这个问题。 1 dialog标签——弹窗标签。 弹窗可能前端一路走来&#xff0c;见过很多。甚至现在…

【Python百日进阶-Web开发-Peewee】Day298 - 骇客 Hacks

文章目录 十六 骇客 Hacks16.1 乐观锁定 Optimistic Locking16.2 每组顶部对象 Top object per group16.3 每组前 N 个对象 Top N objects per group16.3.1 Postgres 横向连接 Postgres lateral joins16.3.2 窗口函数 Window functions16.3.3 其他方法 Other methods 16.4 使用…

架构设计(11)常见的几个嵌入式操作系统介绍

嵌入式操作系统 嵌入式操作系统&#xff08;Embedded Operating System, EOS&#xff09;是专为嵌入式系统设计的操作系统。它们在性能、资源管理和实时性方面满足特定应用的需求。以下是一些关键概念和常见的嵌入式操作系统&#xff1a; 关键概念 实时性&#xff08;Real-Ti…

6种方法:如何克服编程挫折,找到突破的学习方法

你好&#xff0c;我是三桥君 在编程学习的过程中&#xff0c;挫折感确实是一道难以逾越的高墙&#xff0c;但这也是通往成功之路的必经之路。每一位编程高手都曾在这条路上跌倒过、迷茫过&#xff0c;但最终他们找到了突破的方法。 比如说&#xff0c;在Java代码中常见的语法…

本地部署一个WordPress博客结合内网穿透实现异地远程访问本地站点

文章目录 前言1. 安装WordPress2. 创建WordPress数据库3. 安装相对URL插件4. 安装内网穿透发布网站4.1 命令行方式&#xff1a;4.2. 配置wordpress公网地址 5. 配置WordPress固定公网地址 前言 本文主要介绍如何在Linux Ubuntu系统上使用WordPress搭建一个本地网站&#xff0c…

基于langchain的多轮对话RAG

目录 概述 整体架构 代码实现 输出展示 参考 概述 相比于单轮对话&#xff0c;多轮对话要考虑历史对话记录&#xff0c;大模型需要根据对话上下文去回答用户的问题。在RAG的场景中&#xff0c;通常需要通过问题去召回和问题相关的知识&#xff0c;再将知识和问题交给大模型…

一个初始化的服务器,需要配置的相关软件以及环境(cuda、torch、conda)

文章目录 一个刚初始化的服务器需要下载的应用google chromeghelp 解压安装包解压大型zip文件 更新nvidia的驱动pycharm设置conda相关下载condaconda换源 torch相关安装torch包&#xff0c;浏览器下载包安装pytorch常用包安装 导包的方法 一个刚初始化的服务器需要下载的应用 …

Node.js原生开发脚手架工具(下)

前言 在现代软件开发中&#xff0c;脚手架工具成为提高开发效率和一致性的关键利器。使用Node.js原生开发自己的脚手架工具不仅能帮助自动化常见任务&#xff0c;还能根据具体需求进行高度定制。Node.js的异步非阻塞特性和丰富的模块系统使其成为构建这种工具的理想选择。本篇文…

【电力电子】单相并网逆变器

摘要 单相并网逆变器是一种将直流电转换为单相交流电&#xff0c;并与电网同步输出的装置。它广泛应用于小型可再生能源系统&#xff0c;如光伏发电&#xff0c;确保产生的电能能够高效、安全地并入电网。本文探讨了单相并网逆变器的设计理论、控制策略以及其在不同负载条件下…

C++ 两线交点程序(Program for Point of Intersection of Two Lines)

示例图 给定对应于线 AB 的点 A 和 B 以及对应于线 PQ 的点 P 和 Q&#xff0c;找到这些线的交点。这些点在 2D 平面中给出&#xff0c;并带有其 X 和 Y 坐标。示例&#xff1a; 输入&#xff1a;A (1, 1), B (4, 4) C (1, 8), D (2, 4) 输出&#xff1a;给定直…

django企业开发实战-学习小结

写在前面 初次阅读此书是三年前&#xff0c;当时没经历过完整的项目 觉得这书就是扯淡 后来经历过项目加班与毒打 今天再翻开此书 觉得实乃不可多得之物 花些时间啃下来吧 django版本 3.2 本博客开源项目地址 kimsmith/django企业实战 (gitee.com) 有的代码因为版本混乱报错…