Bash字符串处理(与Java对照) - 9.获取字符串指定位置的字符、遍历字符串中的字符
In Java
取指定索引位置的字符
char charAt(int index)
返回指定索引处的 char 值,其中index从0开始计数。
遍历字符串中的字符
int len = s.length();
for (int i = 0; i < len; i++) {
char c = s.charAt(i);
System.out.println("s[" + i + "]=" + c);
}
In Bash
取指定索引位置的字符
${STR:INDEX:1}
取字符串STR的INDEX位置的字符,INDEX从0开始计数
[root@jfht ~]# STR=abcdefg
[root@jfht ~]# echo ${STR:4:1}
e
遍历字符串中的每个字符
for ((i = 0; i < ${#STR}; ++i))
do
CH=${STR:i:1}
# do something
done
本文链接:http://codingstandards.iteye.com/blog/1174825
(转载请注明出处)
返回目录:Java程序员的Bash实用指南系列之字符串处理(目录)
上节内容:Bash字符串处理(与Java对照) - 8.计算字符串长度
下节内容:Bash字符串处理(与Java对照) - 10.判断两个字符串是否相等(不等)
分享到:
相关推荐
3. **文本块(Text Blocks)**:Java 13 引入的新语法特性,使得多行字符串的编写更加直观,减少了转义字符的困扰。 4. **记录类(Record Classes)**:Java 14 添加的记录类简化了创建不可变数据对象的过程,自动...
在上述命令中,`--connect`参数指定了MySQL的JDBC连接字符串,而Sqoop会自动使用MySQL Connector/J执行数据迁移。 综上所述,MySQL Connector/J 8.0.13是Java开发者与MySQL数据库交互的关键组件,它为Java应用程序...
5. **文本块(Text Blocks)**:预览特性,允许在代码中方便地插入多行字符串,减少转义字符的使用。 在下载和安装Java JDK 11.0.8之后,开发者可以使用`javac`编译Java源代码,生成字节码(`.class`文件)。通过`...
4. **动态类型字面量**:允许在字符串模板中使用`#{}`,使得表达式计算更为直观。 5. **文本块(Text Blocks)**:改进了多行字符串的表示,减少了转义字符的使用。 6. **改进的JShell(Java REPL)**:增强了交互式...
- 支持Unicode 9.0,增强了字符串和正则表达式的处理能力。 - `List::Util`模块新增了一些实用函数,如`minmax`,方便处理列表数据。 - 错误消息和诊断信息的改进,提高了调试的便利性。 Perl语法特点: - 采用C...
对于Redis的进一步学习,了解其数据类型(如字符串、哈希、列表、集合和有序集合)以及命令是非常重要的。例如,`SET`用于设置键值,`GET`用于获取键的值,`LPUSH/RPOP`用于操作列表,`HSET/HGET`处理哈希等。此外,...
字符串处理是BASH编程中的重要组成部分,它允许用户对文本数据进行操作,包括截取、替换、比较等。这篇博文将深入探讨BASH中的字符串处理技巧。 一、字符串定义与赋值 在BASH中,字符串可以被赋值给变量,常见的...
4. **文本块(Text Blocks)**:新语法特性,用于处理多行字符串,减少转义字符的使用,提高代码可读性。 5. **改进的垃圾收集器**:包括ZGC(Z Garbage Collector)和Shenandoah,提供了更低的暂停时间,适合大...
5. **文本块(Text Blocks)**:Java 11引入了文本块(多行字符串字面量)的预览特性,允许程序员方便地处理多行文本,减少字符串连接操作和转义字符的使用。 6. **其他语言特性和API增强**:包括对TLS协议的更新、...
在这个例子中,我们定义了一个名为"MyService"的服务,它有一个方法"sayHello",接受一个字符串参数"name"并返回一个字符串。 然后,通过运行`thrift-0.9.x.exe`,我们可以指定`.thrift`文件和目标语言,如Java、...
4. **文本块(Text Blocks,JEP 378)**:为Java源代码引入了多行字符串文字,使得处理多行字符串变得更加简单。 5. **强类型字符串连接(JEP 359)**:增强了字符串连接操作的性能,使得在连接字符串时无需创建...
- **字符串切片**:提供`String#lines()`方法,方便处理文本文件。 - **ZGC**:一种低延迟的垃圾收集器,适用于大内存应用。 **2. JDK 11.0.15.1更新** JDK 11.0.15.1是一个小版本更新,主要修复了已知的漏洞和优化...
5. **改进的字符串处理**:如`isBlank()`, `strip()`, `stripIndent()`, 和 `stripTrailing()`方法。 6. **反应式流**:支持非阻塞I/O,适应现代并发编程。 此外,JDK 11还包含对HTTP客户端的内置支持,以及对TLS...
9.2. 操作字符串 9.3. 参数替换 9.4. 指定类型的变量:declare 或者typeset 9.5. 变量的间接引用 9.6. $RANDOM: 产生随机整数 9.7. 双圆括号结构 10. 循环和分支 10.1. 循环 10.2. 嵌套循环 10.3. 循环控制 10.4. ...
3. **字符串切片**:提供一种高效访问字符串子序列的方法,而无需复制整个字符串。 4. **并行流收集器**:改进了并行流的性能,特别是在大型数据集上。 5. **模块化系统**(Jigsaw项目):进一步增强了Java的模块...
Python中的`tokenizer`库可能基于Python标准库中的`tokenize`模块,这个模块提供了按照Python语法进行词法分析的功能,可以用来识别代码中的关键字、标识符、字符串、数字等。然而,`tokenizer-1.0.3-py2.py3-none-...
高级bash编程 高级Bash脚本编程指南(一) 目录 ++++ 第一部分. 热身 1. 为什么使用shell编程 2. 带着一个Sha-Bang出发(Sha-Bang指的是#!) 2.1. 调用一个脚本 2.2. 初步的练习 第二部分. 基本 3. 特殊...
randos库是一个专注于生成随机数据的Python库,它的主要目标是为开发者提供一个简单易用的接口,用于生成各种类型的随机数据,如数字、字符串、日期等。在开发过程中,测试数据的准备是一项常见的任务,randos库能够...
rocommunity public # 公共读取社区字符串 syslocation YourLocationHere # 设备位置 syscontact YourContactInfo # 联系人信息 agentAddress udp:127.0.0.1:161 # 监听地址和端口 ``` 五、启动和管理SNMP服务 在...
在Linux系统中,Bash shell提供了一系列强大的命令来处理字符串,这些命令包括grep、sed、cut等。本文将详细介绍这些命令的功能、参数及其使用方法。 首先,让我们来看看grep命令。grep全称为Global Regular ...