`

Bash字符串处理(与Java对照) - 12.字符串连接

阅读更多

Bash字符串处理(与Java对照) - 12.字符串连接

In Java

String.concat

String     concat(String str)
          将指定字符串联到此字符串的结尾。

 

String newStr = str.concat(str2);

 

StringBuilder.append & StringBuffer.append

推荐使用StringBuilder,而不是StringBuffer。

 

StringBuilder sb = new StringBuilder();

sb.append("some string").append('c').append(someValue);

String s = sb.toString();

 

In Bash

将多个字符串变量或者常量合并,在Bash中采用插值的方式

S="$S1$S2"

S="${S1}${S2}"

S="STRING IS $(S1}"

 

[root@jfht ~]# S1=Hello
[root@jfht ~]# S2=World
[root@jfht ~]# S=$S1$S2
[root@jfht ~]# echo $S
HelloWorld
[root@jfht ~]# S="$S1 $S2"
[root@jfht ~]# echo $S
Hello World

 

典型应用:在外部命令搜索路径PATH中增加新项

PATH=$PATH:$NEWDIR

 

[root@jfht ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/apache/apache-ant-1.7.1/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@jfht ~]# PATH="$PATH:/usr/games"
[root@jfht ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/apache/apache-ant-1.7.1/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/games
[root@jfht ~]#

 

在Bash3.1版本及以上,支持+=操作

[root@jfht ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/apache/apache-ant-1.7.1/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@jfht ~]# PATH+=":~/bin"
[root@jfht ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/apache/apache-ant-1.7.1/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:~/bin
[root@jfht ~]#

 

 

本文链接:http://codingstandards.iteye.com/blog/1178681   (转载请注明出处)

返回目录:Java程序员的Bash实用指南系列之字符串处理(目录) 

上节内容:Bash字符串处理(与Java对照) - 11.比较两个字符串大小(字典顺序、数值比较)

下节内容:Bash字符串处理(与Java对照) - 13.字符串数组连接(以指定分隔符合并)

 

4
3
分享到:
评论

相关推荐

    mysql-connector-java-5.1.40.tar.gz

    MySQL Connector/J是MySQL数据库与Java应用程序之间的桥梁,它是一个实现了JDBC(Java Database Connectivity)标准的MySQL驱动程序。"mysql-connector-java-5.1.40.tar.gz" 是这个驱动程序的一个特定版本,版本号为...

    bash-3.1-MSYS-1.0.11-snapshot.tar

    bash-3.1-MSYS-1.0.11-snapshot.tar.bz2 ffmpeg 安装用包!

    fonts-chinese-3.02-12.el5.noarch.rpm和fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm

    标题中的"fonts-chinese-3.02-12.el5.noarch.rpm"和"fonts-ISO8859-2-75dpi-1.0-17.1.noarch.rpm"是两个rpm(Red Hat Package Manager)格式的字体安装包。在Linux系统,特别是基于RPM的系统如CentOS中,这些包用于...

    openjdk-17.0.2(openjdk-17.0.2_macos-aarch64_bin.tar.gz)

    3. **文本块(Text Blocks)**:Java 13 引入的新语法特性,使得多行字符串的编写更加直观,减少了转义字符的困扰。 4. **记录类(Record Classes)**:Java 14 添加的记录类简化了创建不可变数据对象的过程,自动...

    libaio-devel-0.3.106(i386 x86_64)

    ```bash rpm -ivh libaio-devel-0.3.106-3.2.i386.rpm ``` 而对于 x86_64 系统,则是: ```bash rpm -ivh libaio-devel-0.3.106-3.2.x86_64.rpm ``` 安装完成后,libaio-devel 提供的头文件(如 `libaio.h`)和开发...

    centos安装jdk1.8时出现没有/lib/ld-linux.so.2:这个文件的原因分析

    -bash: /usr/local/jdk/jdk1.8.0_181/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory 安装完后 java -version 查看版本出现: 原因是:没有那个文件或目录,找了很久发现需要...

    mysql-connector-java-8.0.13.jar

    在上述命令中,`--connect`参数指定了MySQL的JDBC连接字符串,而Sqoop会自动使用MySQL Connector/J执行数据迁移。 综上所述,MySQL Connector/J 8.0.13是Java开发者与MySQL数据库交互的关键组件,它为Java应用程序...

    fontconfig-2.13.0-4.3.el7.x86_64.zip

    在没有互联网连接或者网络受限的环境中,确保Linux能够正确显示中文字符,就需要手动安装和配置字体库。`fontconfig-2.13.0-4.3.el7.x86_64.zip`这个压缩包提供了在离线环境下的解决方案。 `fontconfig`库的主要...

    bash-4.1.2-15.el6_5.1.x86_64.rpm

    修复redhat6 bash远程执行任意代码漏洞CVE-2014-6271

    Java-JDK-11.0.8(Windows & Mac os) 下载

    5. **文本块(Text Blocks)**:预览特性,允许在代码中方便地插入多行字符串,减少转义字符的使用。 在下载和安装Java JDK 11.0.8之后,开发者可以使用`javac`编译Java源代码,生成字节码(`.class`文件)。通过`...

    jdk-11.0.16.1-linux-x64-bin.tar

    5. **文本块(Text Blocks)**:改进了多行字符串的表示,减少了转义字符的使用。 6. **改进的JShell(Java REPL)**:增强了交互式Java开发体验。 7. **增强的switch语句**:支持模式匹配,使switch语句更加强大和...

    redis-3.2.8.tar.gz和tcl8.6.1-src.tar.gz

    对于Redis的进一步学习,了解其数据类型(如字符串、哈希、列表、集合和有序集合)以及命令是非常重要的。例如,`SET`用于设置键值,`GET`用于获取键的值,`LPUSH/RPOP`用于操作列表,`HSET/HGET`处理哈希等。此外,...

    rlwrap-0.37.tar.gz

    总的来说,rlwrap提供了一种更高效、更易用的方式来与sqlplus交互,尤其是在处理字符编码问题时。对于需要频繁使用sqlplus的数据库管理员和开发者来说,rlwrap是一个非常实用的工具。通过正确配置和使用rlwrap,可以...

    protoc.exe和protobuf-java-2.5.0.jar集合

    综上所述,`protoc.exe`和`protobuf-java-2.5.0.jar`是protobuf工具链的关键组成部分,它们一起帮助开发者在Java环境中定义、编译和处理protobuf数据结构。为了充分利用protobuf,开发者需要了解如何编写.proto文件...

    tftp-server-0.42-3.1.i386.rpm.

    《TFTP服务器在RHEL5系统中的应用与配置详解》 TFTP(Trivial File Transfer Protocol,简单文件传输协议)是一种轻量级的文件传输协议,常用于设备初始化、固件更新、网络诊断等场景。在RHEL5(Red Hat Enterprise...

    arm-linux-gcc-4.4.3.tar.gz

    为了让系统知道新的交叉编译器的位置,需要在用户或系统的`~/.bashrc`或`/etc/bash.bashrc`文件中添加以下内容: ```bash export CC=/usr/local/arm-linux-gcc-4.4.3/bin/arm-linux-gcc export CXX=/usr/local/arm-...

    apache-tomcat-7.0.70.tar.gz

    尽管Tomcat不是完整的Java EE应用服务器,但它与Java EE的其他组件(如EJB)可以通过与其他服务器(如JBoss或Glassfish)集成来支持。 **Linux系统**: Linux是一种自由和开放源代码的操作系统,广泛应用于服务器...

    jdk-11.0.18-linux-aarch64-bin.tar.gz

    5. **文本块(Text Blocks)**:Java 11引入了文本块(多行字符串字面量)的预览特性,允许程序员方便地处理多行文本,减少字符串连接操作和转义字符的使用。 6. **其他语言特性和API增强**:包括对TLS协议的更新、...

    最新版linux jdk-11.0.8_linux-x64_bin.tar.gz

    4. **文本块(Text Blocks)**:新语法特性,用于处理多行字符串,减少转义字符的使用,提高代码可读性。 5. **改进的垃圾收集器**:包括ZGC(Z Garbage Collector)和Shenandoah,提供了更低的暂停时间,适合大...

    bash-4.1.2-15.el6_5.2.x86_64.rpm

    rhel 6.4 64位 bash漏洞更新包

Global site tag (gtag.js) - Google Analytics