julia笔记:字符和字符串
1 字符
- Char类型的值代表单个字符
c='a'
#'a': ASCII/Unicode U+0061 (category Ll: Letter, lowercase)typeof(c)
#Char
- 将 Char 转换为其对应的整数值,即 Unicode 代码
c=Int(c)
c
#97typeof(c)
#Int64
- 将一个整数值(Unicaode)转回 Char
Char(97)
#'a': ASCII/Unicode U+0061 (category Ll: Letter, lowercase)
- 字符也可以进行
'A' < 'a'
#true'A' +1
#'B': ASCII/Unicode U+0042 (category Lu: Letter, uppercase)
2 字符串
2.1 创建
由双引号或三重双引号分隔
- 双引号 (
") 通常用于定义单行字符串
str="Hello world"
str
# "Hello world"
- 三重双引号 (
""") 可以用于定义多行字符串。- 在这种情况下,可以在一个字符串中包含多行文本,而无需使用明确的换行字符或连接多个单行字符串。
s = """This is a multiline
string in Julia."""
s
#"This is a multiline\nstring in Julia."
- 当需要在字符串中包含双引号等转义字符时,使用三重双引号可以更加方便,因为你不需要转义内部的双引号
s = """He said, "Hello, Julia!" without any issues."""
s
#"He said, \"Hello, Julia!\" without any issues."
- 在字符串中,如果一行内容太长,可以在换行之前加上反斜杠 (
\) 来将其分割。- 使用反斜杠后,实际的字符串内容不会包含换行符
- 这样可以使代码更易读,同时不改变字符串的实际内容。
str="Hello \world"
str
#"Hello world"
2.2 索引
可以使用数字(索引从1开始),也可以是begin和end(他们俩可以视作普通值,可以直接在上面进行计算)
str="Hello world"
str
#"Hello world"str[begin]
#'H': ASCII/Unicode U+0048 (category Lu: Letter, uppercase)str[1]
#'H': ASCII/Unicode U+0048 (category Lu: Letter, uppercase)str[end]
#'d': ASCII/Unicode U+0064 (category Ll: Letter, lowercase)str[begin*3]
#'l': ASCII/Unicode U+006C (category Ll: Letter, lowercase)
- 使用小于 begin (1) 或大于 end 的索引会引发错误:
str[begin-1]
'''
BoundsError: attempt to access 11-codeunit String at index [0]Stacktrace:[1] checkbounds@ .\strings\basic.jl:216 [inlined][2] codeunit@ .\strings\string.jl:117 [inlined][3] getindex(s::String, i::Int64)@ Base .\strings\string.jl:238[4] top-level scope@ In[48]:1
'''str[end+1]
'''
BoundsError: attempt to access 11-codeunit String at index [12]Stacktrace:[1] checkbounds@ .\strings\basic.jl:216 [inlined][2] codeunit@ .\strings\string.jl:117 [inlined][3] getindex(s::String, i::Int64)@ Base .\strings\string.jl:238[4] top-level scope@ In[49]:1
'''
- 可以使用范围索引来提取字符串(左闭右闭)
str[3:4]
#"ll"
- 表达式 str[k] 和 str[k:k] 不会给出相同的结果:
- 前者是一个
Char类型的单个字符,而后者是一个恰好只包含一个字符的字符串
- 前者是一个
2.3 拼接
- 使用string拼接
greet = "Hello"
whom = "world"
string(greet, ", ", whom, ".\n")
#"Hello, world.\n"
- 也使用*用于字符串级联
greet = "Hello"
whom = "world"
greet * ", " * whom * ".\n"
#"Hello, world.\n"
- 使用$插值进行拼接
greet = "Hello"
whom = "world"
"$greet, $whom.\n"
2.4 其他方法
findfirst | 搜索特定字符第一次出现的索引
|
findlast | 搜索特定字符最后一次出现的索引
|
findnext | 搜索特定偏移处之后,某字符出现的索引
|
findprev | 搜索特定偏移处之前,某字符出现的索引
|
occursin | 检查在字符串中某子字符串可否找到
|
repeat | 字符串重复多次
|
join | 拼接 像第一种情况:每个字符串之间拼接的是对应的字符(串) 第二种情况,join后面只有一个参数,那么所有字符串都用这个参数拼接
|
length | ![]() |
相关文章:
julia笔记:字符和字符串
1 字符 Char类型的值代表单个字符 ca #a: ASCII/Unicode U0061 (category Ll: Letter, lowercase)typeof(c) #Char 将 Char 转换为其对应的整数值,即 Unicode 代码 cInt(c) c #97typeof(c) #Int64 将一个整数值(Unicaode)转回 Char Cha…...
组合数(递推版)的初始化
初始考虑为将第一列数和斜对角线上的数进行初始化。 橙色方块由两个绿色方块相加而来,一个为1,一个为0,所以斜对角线都为1,可以通过计算得来,不需要初始化,需要与码蹄集盒子与球 第二类Stirling数…...
Apache JMeter 安装教程
下载: 注意事项:使用JMeter前需要配置JDK环境 下载地址 下载安装以后,打开安装的bin目录 D:\software\apache-jmeter-5.4.1\apache-jmeter-5.4.1\bin,找到jmeter.bat,双击打开 打开后的样子 语言设置: 1…...
【unity小技巧】实现无限滚动视图和类似CSGO的开箱抽奖功能及Content Size Fitter组件的使用介绍
文章目录 一篇一句前言素材一、无限滚动视图1. 绘制视图2. Content Size Fitter是布局控件(1)在文本框中使用(2)控制Scroll View(Scroll Rect组件)控件下Content的大小 3. 控制视图无限滚动4. 向右拉无限滚动5. 修复滚动视图一卡一…...
Mybatis的SqlRunner执行流程
Mybatis的SqlRunner执行流程 SqlRunner exec new SqlRunner(connection); Map<String, Object> row exec.selectOne("SELECT * FROM PRODUCT WHERE PRODUCTID ?", "FI-SW-01");connection.close();assertEquals("FI-SW-01", row.ge…...
Zookeeper、Kafka集群与Filebeat+Kafka+ELK架构、部署实例
Zookeeper、Kafka集群与FilebeatKafkaELK架构、部署实例 一、Zookeeper1.1、Zookeeper 定义1.2、Zookeeper 工作机制1.3、Zookeeper 特点1.4、Zookeeper 数据结构1.5、Zookeeper 应用场景1.5、Zookeeper 选举机制1.5.1、 第一次启动选举机制1.5.2、 非第一次启动选举机制 二、Z…...
leetcode做题笔记198. 打家劫舍
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的…...
【编解码格式】DV
DV DV是指用于存储数位影片(英语:Digital video)的一种编解码器和录像带格式系列,由索尼和松下为首的摄像机制造商联盟于1995年推出。20世纪90年代末和21世纪初,DV与从模拟到数字的桌面式视频制作的过渡密切相关&…...
Flink之常用处理函数
常用处理函数 处理函数概述 基本处理函数ProcessFunction介绍使用示例 按键分区处理函数KeyedProcessFunction介绍定时器Timer和定时服务TimerService使用示例其他 窗口处理函数ProcessWindowFunction介绍ProcessAllWindowFunction介绍使用示例 流的合并处理函数CoProcessFunct…...
【C语言】善于利用指针(三)
💗个人主页💗 ⭐个人专栏——C语言初步学习⭐ 💫点击关注🤩一起学习C语言💯💫 目录 导读:1. 函数指针1.1 什么使函数指针1.2 用函数指针变量调用函数 2. 返回指针值的函数3. 函数指针数组3.1 实…...
ant design vue Message 用法以及内容为 html片段情况
ant design vue 的 Message 用法 全局展示操作反馈信息 何时使用 # 可提供成功、警告和错误等反馈信息。顶部居中显示并自动消失,是一种不打断用户操作的轻量级提示方式。 全局配置: // main.ts// 进行全局配置 message.config({top: 0.7rem,//高度…...
HotSpot算法细节实现——安全点
OopMap 垃圾回收时,如何找到垃圾? 在可达性分析算法中从GC Roots集合找引用链分析对象是否可达。 固定可作为GC Roots的节点主要在全局性的引用(例如常量或类静态属性)与执行上下文(例如栈帧中的本地变量表…...
杂谈:DC对Verilog和SystemVerilog语言的支持
DC对Verilog和SystemVerilog语言的支持 设计语言用哪种?Design Compiler对二者的支持简单的fsm电路测试测试结果对比写在最后 设计语言用哪种? 直接抛出结论:先有电路,后为描述。设计端而言,没有语言的高低好坏&#…...
网络安全评估(网络安全评估)
讨论了基于互联网的网络安全评估和渗透测试的基本原理,网络安全服务人员,安全运营人员,通过评估来识别网络中潜在的风险,并对其进行分类分级。 黑客通常采取的攻击方式如下: 突破目标外围系统,比如主站拿…...
offsetof宏计算某变量相对于首地址的偏移量
宏:offsetof的使用 //offsetof (type,member) //type是结构体的类型名,member是结构体中的成员名。struct Student {char name[5]; // 姓名int age; // 年龄float score; // 成绩 };int main() {struct Student s;printf("%zd\n", off…...
算法|每日一题|统计无向图中无法互相到达点对数|并查集
2316. 统计无向图中无法互相到达点对数 原题地址: 力扣每日一题:统计无向图中无法互相到达点对数 给你一个整数 n ,表示一张 无向图 中有 n 个节点,编号为 0 到 n - 1 。同时给你一个二维整数数组 edges ,其中 edges[i…...
浏览器的四种缓存协议
❤️浏览器缓存 在HTTP里所谓的缓存本质上只是浏览器和业务侧根据不同的报文字段做出不同的缓存动作而已 四种缓存协议如下 Cache-ControlExpiresETag/If-None-MatchLast-Modified/If-Modified-Since 🎡Cache-Control 通过响应头设置Cache-Control和max-age&…...
力扣每日一题55:跳跃游戏
题目描述: 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。 …...
mssql调用外部接口
前言: 断更很久了。 是因为这段时间发现,AI出来之后,很多博客都没有记录的必要了,你问他他都能即时告诉你。 这篇博客产出的原因是,看到一份奇葩需求,说数据库改某行数据的状态字段,也要调用接…...
npx是什么命令?npx和npm有什么区别?
平时安装node模块的时候,经常使用的命令是npm。其实还有另外一个命令,叫做npx。网上的说法都是:npx是npm命令的升级版本,功能非常强大。 npx 是什么 npx是一个由Node.js官方提供的用于快速执行npm包中的可执行文件的工具。它可以…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...
Python训练营-Day26-函数专题1:函数定义与参数
题目1:计算圆的面积 任务: 编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求:函数接收一个位置参数 radi…...
C++_哈希表
本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说,直接开始吧! 一、基础概念 1. 哈希核心思想: 哈希函数的作用:通过此函数建立一个Key与存储位置之间的映射关系。理想目标:实现…...









