Bash字符串处理(与Java对照) - 2.字符串的表示方式(字符串常量)

Bash字符串处理(与Java对照) - 2.字符串的表示方式(字符串常量)

In Java

你懂的!

使用单引号表示字符常量:'c'

使用双引号表示字符串常量:"hello world"

 

Java字符转义

\u???? 四位十进制Unicode字符

\??? 三位八进制字符

\n 换行(\u000a)(Insert a newline in the text at this point.)

\t 水平制表符(\u0009)(Insert a tab in the text at this point.)

\b 退格(\u0008)(Insert a backspace in the text at this point.)

\r 回车(\u000d)(Insert a carriage return in the text at this point.)

\f 换页(\u000c)(Insert a formfeed in the text at this point.)

\' 单引号(\u0027)(Insert a single quote character in the text at this point.)

\" 双引号(\u0022)(Insert a double quote character in the text at this point.)

\\ 反斜杠(\u005c)(Insert a backslash character in the text at this point.)

 

注:网上有很多资料都不一定正确,还是看Oracle网站上关于Characters的内容为好:

http://download.oracle.com/javase/tutorial/java/data/characters.html

 

In Bash

字符串的用途

在Bash中无处不是字符串,它可以

(1)作为命令;

(2)作为命令行参数;

(3)作为变量的值;

(4)作为重定向的文件名称;

(5)作为输入字符串(here string, here document);

(6)作为命令行的输出。

 

字符串表示方式概述

在Bash中,字符串常量有多种表示方式

(1)不使用任何引号,比如 hello

(2)使用一对单引号括起来,比如 'hello'

(3)使用一对双引号括起来,比如 "hello"

(4)使用美元符加上一对单引号括起来,比如 $'hello'

如果字符串中不包含特殊字符,那么上述几种表示方式是等效的。

 

友情提示:字符串的这几种表示方式可以任意组合,比如 h'e'"l"$'lo' 与 hello是等效的。

 

[root@jfht ~]# echo hello
hello
[root@jfht ~]# echo 'hello'
hello
[root@jfht ~]# echo "hello"
hello
[root@jfht ~]# echo $'hello'
hello
[root@jfht ~]# echo h'e'"l"$'lo'
hello
[root@jfht ~]#

 

关于字符串表示的问题

在进一步对字符串的表示方式了解之前,请先回答下面的问题:

问题1:字符串中包含空格,应该怎么表示?

问题2:字符串中包含制表符,应该怎么表示?

问题3:字符串中包含单引号,应该怎么表示?

问题4:字符串中包含双引号,应该怎么表示?

问题5:字符串中包含$,应该怎么表示?

问题6:字符串中包含#,应该怎么表示?

问题7:字符串中包含换行,即有多行,应该怎么表示?

问题8:字符串中包含反斜杠,应该怎么表示?

问题9:字符串中包含感叹号,应该怎么表示?

 

无引号(one of quoting  mechanisms:  the  escape  character)

在没有用引号括起来时,所有的特殊字符都会产生特殊的作用,如果想让它们失去特殊作用,就需要用转义符(\)进行转义。

man bash 写道
A non-quoted backslash (\) is the escape character. It preserves the
literal value of the next character that follows, with the exception of
<newline>. If a \<newline> pair appears, and the backslash is not
itself quoted, the \<newline> is treated as a line continuation (that
is, it is removed from the input stream and effectively ignored).

 

空格是用来分隔命令与参数、参数与参数、变量赋值和命令的,所以如果字符串中有空格时,需要对空格进行转义。

[root@jfht ~]# STR=hello world
-bash: world: command not found
[root@jfht ~]# STR=hello\ world

 

换行符是命令行之间的分隔符的一种(另外一种是分号),如果字符串比较长,就可以对换行符进行转义,变成续行。

[root@jfht ~]# STR=hello\
> world
[root@jfht ~]#

 

在没有任何引号括起来时,\跟上字符,那么所跟的字符将失去特殊含义。比如 管道线(|)。

[root@jfht ~]# STR=hello|world
-bash: world: command not found
[root@jfht ~]# STR=hello\|world
[root@jfht ~]#

 

单引号(single quote,full quoting)

Advanced Bash-Scripting Guide: Chapter 3. Special Characters 写道
full quoting [single quote]. 'STRING' preserves all special characters within STRING. This is a stronger form of quoting than "STRING".

 

在单引号中,所有的特殊字符豆浆失去其特殊含义。这样也就导致在单引号中无法表示单引号字符本身。

man bash QUOTING 写道
Enclosing characters in single quotes preserves the literal value of
each character within the quotes. A single quote may not occur between
single quotes, even when preceded by a backslash.
 

 

[root@jfht ~]# echo '$'
$
[root@jfht ~]# echo '`'
`
[root@jfht ~]# echo '\'
\
[root@jfht ~]# echo '!'
!
[root@jfht ~]# echo 'begin of string
> some strings
> end of string'
begin of string
some strings
end of string
[root@jfht ~]#

 

下面展示一下单引号表示的字符串在脚本中的表现。

 

Bash脚本:test_single_quote.sh

#!/bin/sh

echo '$'

echo '`'

echo '\'

echo '!'

echo 'start of string
some strings
end of string'
 

[root@jfht ~]# chmod +x ./test_single_quote.sh
[root@jfht ~]# ./test_single_quote.sh
$
`
\
!
start of string
some strings
end of string
[root@jfht ~]#

 

双引号(double quote,partial quoting)

Advanced Bash-Scripting Guide: Chapter 3. Special Characters 写道
partial quoting [double quote]. "STRING" preserves (from interpretation) most of the special characters within STRING.

在双引号中,大部分特殊字符失去了其特殊含义,比如 注释(#)、命令分隔符(;)、管道线(|)、通配符(?*)等。

 

[root@jfht work191]# echo *
cgen ct08 hycu2 hyfc2 jlib keyc mdbc msgc sms web_spider xqt_admin xqt_demo xqt_server zjlt_mhr_files zjlt_mhr_server zjlt_mhr_user zjlt_mhr_web
[root@jfht work191]# echo "*"
*

[root@jfht work191]# echo #

[root@jfht work191]# echo "#"
#
[root@jfht work191]#

 

Advanced Bash-Scripting Guide: Chapter 5. Quoting 写道
This prevents reinterpretation of all special characters within the quoted string -- except $, ` (backquote), and \ (escape). Keeping $ as a special character within double quotes permits referencing a quoted variable ("$variable"), that is, replacing the variable with its value
man bash 写道
Enclosing characters in double quotes preserves the literal value of
all characters within the quotes, with the exception of $, `, and \.
 

在双引号中,特殊字符包括:美元符($)、反引号(`)、转义符(\)、感叹号(!),其他的特殊字符就不用管了。(为啥在此处写上“感叹号(!)”呢,请看后文分解)

 

man bash 写道
The characters $ and ` retain their special meaning within double
quotes.
 

在双引号中,美元符($)可以引用变量,将被替换为变量的值,比如

"$VAR"   被替换为变量VAR的值,但"$VAR123"将被替换为变量VAR123的值,所以最好用大括号把变量括起来,避免意想不到的错误出现;

"${VAR}"   被替换为变量VAR的值,"${VAR}123"将被替换为变量VAR的值再跟上123;

"${VAR:-DEFAULT}"  当变量VAR没有定义或者为空时,替换为DEFAULT,否则替换为变量VAR的值;

"$(command line)"  相当于 "`command line`",将被替换为命令行执行的标准输出信息

 

变量VAR没有定义。

[root@jfht ~]# echo "$VAR"

[root@jfht ~]# echo "${VAR}"

 

[root@jfht ~]# echo "$VAR123"

[root@jfht ~]# echo "${VAR}123"
123
[root@jfht ~]# echo "${VAR:-DEFAULT}"
DEFAULT

现在定义VAR变量。

[root@jfht ~]# VAR="Hello World"
[root@jfht ~]# echo "$VAR"
Hello World
[root@jfht ~]# echo "${VAR}"
Hello World
[root@jfht ~]# echo "$VAR123"

[root@jfht ~]# echo "${VAR}123"
Hello World123
[root@jfht ~]# echo "${VAR:-DEFAULT}"
Hello World
现在测试一下命令执行输出结果。
[root@jfht ~]# echo "$(pwd)"
/root
[root@jfht ~]#

 

在双引号中,反引号(`)将被替换为命令行执行的标准输出信息

"`ls`" 相当于 "$(ls)",将被替换为ls命令的执行结果,即列出当前目录的文件名;

"`date +%F`"相当于"$(date +%F)",将被替换为date +%F的执行结果,即当天的日期,比如2011-09-01

 

[root@jfht ~]# echo "`pwd`"
/root
[root@jfht ~]# echo "`date +%F`"
2011-09-02

[root@jfht ~]# echo "$(date +%F)"
2011-09-02
[root@jfht ~]#

 

man bash 写道
The backslash retains its special meaning only when followed
by one of the following characters: $, `, ", \, or <newline>. A double
quote may be quoted within double quotes by preceding it with a back-
slash.
 

在双引号中,转义符(\)是为了方便创建包含特殊字符的字符串,特殊字符的前面需要加上\进行转义

\"  双引号 gives the quote its literal meaning
\$  美元符 gives the dollar sign its literal meaning (variable name following \$ will not be referenced)
\\  反斜杠、转义符本身 gives the backslash its literal meaning

\` 反引号

\<newline> 就是\跟上换行,那么换行的作用不再有,只起到续行的作用。

 

[root@jfht ~]# echo ""

[root@jfht ~]# echo "hello
> world"
hello
world
[root@jfht ~]#

[root@jfht ~]# echo "hello world\""
hello world"

[root@jfht ~]# echo "hello world\$" 
hello world$
[root@jfht ~]# echo "hello world\\"
hello world\

[root@jfht ~]# echo "hello world\`"
hello world`

[root@jfht ~]# echo "hello world\
> yes"
hello worldyes
[root@jfht ~]#

 

在双引号中,感叹号(!)的含义根据使用的场合有所不同,在命令行环境,它将被解释为一个历史命令,而在脚本中,则不会有特殊含义。

Advanced Bash-Scripting Guide: 5.1. Quoting Variables 写道
Encapsulating "!" within double quotes gives an error when used from the command line. This is interpreted as a history command. Within a script, though, this problem does not occur, since the Bash history mechanism is disabled then.

 

在命令行环境,感叹号(!)称之为“历史扩展字符(the  history  expansion character)”。

[root@jfht ~]# pwd
/root
[root@jfht ~]# echo "!"
-bash: !: event not found
[root@jfht ~]# echo "!pwd"
echo "pwd"
pwd
[root@jfht ~]#

 

在脚本中使用感叹号,将不会进行历史扩展。

 

Bash脚本:test_exclamation_mark.sh

#!/bin/sh

echo "!"

pwd
echo "!pwd"
 

[root@smsgw root]# ./test_exclamation_mark.sh
!
/root
!pwd
[root@smsgw root]#

 

 

$' ... '(ANSI-C Quoting)

前面讲到,包围在单引号之内的字符都不会有特殊含义,所以单引号本身并不能在一对单引号中出现。但是在前面加上$之后,就可以使用\进行转义了,\的转义含义与C语言中的相同。

Advanced Bash-Scripting Guide: Chapter 3. Special Characters 写道
$' ... '
    Quoted string expansion. This construct expands single or multiple escaped octal or hex values into ASCII or Unicode characters.
 
Advanced Bash-Scripting Guide: 5.2. Escaping 写道
The $' ... ' quoted string-expansion construct is a mechanism that uses escaped octal or hex values to assign ASCII characters to variables, e.g., quote=$'\042'.

 

man bash 写道
Words of the form $'string' are treated specially. The word expands to string, with backslash-escaped charac-
ters replaced as specified by the ANSI C standard. Backslash escape sequences, if present, are decoded as fol-
lows:
\a alert (bell)
\b backspace
\e an escape character (not ANSI C)
\f form feed
\n new line
\r carriage return
\t horizontal tab
\v vertical tab
\\ backslash
\' single quote
\nnn the eight-bit character whose value is the octal value nnn (one to three digits)
\xHH the eight-bit character whose value is the hexadecimal value HH (one or two hex digits)
\cx a control-x character

The expanded result is single-quoted, as if the dollar sign had not been present.

 

叮当一声。

[root@jfht ~]# echo $'\a'

 

叮当三声。
[root@jfht ~]# echo $'\a\a\a'

 

单引号。

[root@jfht ~]# echo $'\''
'

八进制表示的ASCII字符。

[root@jfht ~]# echo $'\101\102\103\010'
ABC
[root@jfht ~]#
[root@jfht ~]#


$"..."(Locale-Specific Translation)

在双引号之前加上$,这部分内容还未能很好的理解,就不说了。望高人指点一二。

man bash 写道
A double-quoted string preceded by a dollar sign ($) will cause the
string to be translated according to the current locale. If the cur-
rent locale is C or POSIX, the dollar sign is ignored. If the string
is translated and replaced, the replacement is double-quoted.

 

 

问题解答

问题1:字符串中包含空格,应该怎么表示?

问题2:字符串中包含制表符,应该怎么表示?

问题3:字符串中包含单引号,应该怎么表示?

问题4:字符串中包含双引号,应该怎么表示?

问题5:字符串中包含$,应该怎么表示?

问题6:字符串中包含#,应该怎么表示?

问题7:字符串中包含换行,即有多行,应该怎么表示?

问题8:字符串中包含反斜杠,应该怎么表示?

问题9:字符串中包含感叹号,应该怎么表示?

 

感谢大家怀着极大的耐心看完了上述内容,上面9道题的答案在不久之后将公布,有兴趣的请直接跟帖回复。

 

 

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

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

上节内容:Bash字符串处理(与Java对照) - 1.(字符串)变量声明

下节内容:Bash字符串处理(与Java对照) - 3.给(字符串)变量赋值

 

 

YOLOv11 改进 - 下采样 | 轻量化突破:ADown 下采样让 YOLOv11 参量减、精度升 本文介绍了一种轻量级的特征下采样模块 ADown,它结合平均池化与最大池化策略,实现更有效的信息保留与压缩。在传统卷积网络中,特征下采样常造成信息损失,而 ADown 通过双通道并行结构优化了下采样效果,提升了模型的表达能力。在 YOLOv11 中引入 ADown 替换原有的下采样模块后,网络在保持高效性的同时,显著提升了目标检测的精度与稳定性。文章详细介绍了 ADown 的核心代码实现、模块注册流程以及 YOLOv11-ADown 模型的配置和训练方法,为轻量化目标检测模型的优化提供了实用参考。 阅读详情

相关推荐

20240128 C#与SCPI协议实战:轻量级仪器控制库ScpiNet应用指南

本文详细介绍了轻量级C#库ScpiNet在仪器控制中的应用。相较于传统的NI-VISA,ScpiNet无需安装庞大运行时,通过纯C#实现直接与USB或以太网设备通信,支持跨厂商SCPI仪器。文章提供了从快速连接到实战封装、错误处理的完整指南,帮助开发者构建简洁高效的自动化测试系统。

h9j8k7l6m5n的博客 546

高级Bash脚本编程指南(9):数字常量

高级Bash脚本编程指南(9):数字常量 成于坚持,败于止步 shell脚本在默认情况下都是把数字作为10进制数来处理, 除非这个数字采用了特殊的标记或者前缀. 如果数字以0开头的话那么就是8进制数. 如果数字以0x开头的话那么就是16进制数. 如果数字中间嵌入了#的话, 那么就被认为是BASE#NUMBER形式的标记法(有范围和符号限制). 下面根据具体的实例对这几种表示方法进行深入分析:

Seal--学海无涯 2365

用Django框架+爬虫技术实现自动获取可画(Canva)团队会员资格的方法

可画(canva)是一个非常流行的在线平面设计平台,因为它无需专业训练和技能就可以利用其丰富的资源设计出美观、酷炫的作品,因而它受到了极其广泛的设计专业和非专业人群的喜爱本文介绍了一种方法,它采用Django网络框架与爬虫技术相结合,实时监控定时更新可画团队版免费邀请链接的网站页面,一旦链接有更新动作,第一时间获取相关信息,并直接加载这个有效的邀请链接,自动进入可画网站获得团队版使用资格。

hhyyqq的博客 2207

Bash中的变量

预定义变量—— 最后一次执行的命令返回状态如果这个变量的值为 0,证明上一个命令正确执行如果这个边的值为非 0,则证明上一个命令执行不正确(具体是什么数字由命令本身决定)$$ —— 当前进程的进程号,PID—— 后台运行的最后一个进程的进程号,PID例1:编写自动配置本地 yum 源的脚本 —— 判断语句,自定义错误提示以及 $?收集错误提示/bin/bash-b /dev/sr1 ] && exit 23 # 若sr1不存在,则退出,提示 23。

qq_57803307的博客 2375

Xilinx IP核 Block Memory Generator v8.4 的使用

本文主要介绍如何使用并初始化 Xilinx 提供的IP核 Block Memory Generator v8.4`,为了确保成功初始化,还对其进行了一个简单的仿真,更多细节请参考官方手册。

高阶近似的博客 1万+

淘宝链接跳转微信全攻略:自建合规中转页实现私域引流

在跨平台运营中,链接跳转是连接不同生态、实现流量引导的关键技术。其核心原理是通过服务器端或前端逻辑,将用户从一个平台的链接安全引导至目标页面,同时规避平台间的访问限制。这项技术的核心价值在于打破数据孤岛,实现跨平台用户沉淀与精细化运营,广泛应用于电商引流、私域流量构建和跨平台营销等场景。本文聚焦于**淘宝短链**与**企业微信**之间的跳转难题,提供了一套基于自建中转页面的完整工程解决方案,手把手教你如何通过合规的技术手段,将淘宝流量高效、安全地引导至微信生态,并实现数据追踪与客户分流。

weixin_34185512的博客 411

Linux shell 进制转换

修改脚本时,想直接用10进制转换为16进制的方法,在网上搜了搜,结果是找到了,可惜所用系统中没有对应的指令,还是用不成,最后就用了一个比较笨一点的方法。既然有需要,就把搜到感觉有用的进制转换函数或指令都贴在这里,便于以后应用。shell可以在不调用第3方命令,表示不同进制数据。这里总结以下表示方法。shell 脚本默认数值是由10 进制数处理,除非这个数字某种特殊的标记法或前缀开头. 才可以表示其它进制类型数值。如:以 0 开头就是 8 进制.以0x 开头就是16 进制数.使用 BASE#NUMBER 这种

AXDC_QA_Team的专栏 7584

储能EMS工作原理深度剖析:功率分配与充放电策略的底层逻辑

储能EMS的功率分配与充放电策略,是其智能化的集中体现。功率分配更像一个“执行指挥官”,关注如何将总任务高效、公平、安全地分解到每个士兵(PCS/电池簇);而充放电策略则像“总参谋长”,基于战场情报(市场、电网、自身状态)制定最优的作战计划。AI强化学习策略:让EMS通过与复杂环境不断交互,自主学习最优策略,适应不确定性。数字孪生与仿真:在虚拟空间中提前验证策略,评估风险,实现预防性控制。跨站协同优化:多个储能站的EMS通过云平台协同,参与区域电网甚至跨省市场的联合优化调度。

小帽子的博客 375

linux bash脚本 变量,bash脚本的变量使用详解

bash脚本的变量使用详解变量的类型包括整数、字符串和数组,但在bash脚本编程中不需要指定类型就可以直接赋值,默认均为字符型,其参与运算会自动进行隐式类型转换。变量的赋值方式为:name='value',其中“=”两边一定不能有空格,如果变量值中包含有空格则需要使用引号引起来,需要注意的是强引用和弱引用的区分。此外变量的赋值也可以引用变量和命令,如果引用变量赋值需要使用双引号,如果引用命令赋值需...

weixin_39640845的博客 1655

docker部署zabbix6.2.7+grafana

docker部署zabbix6.2.7+grafana。

qq_48391148的博客 3654

为什么我的OpenClaw安装后无法启动?Gateway服务故障排查全攻略

OpenClaw是一款功能强大的自动化工具,但其安装和运行依赖于多个服务组件,其中Gateway服务是核心组件之一。如果Gateway服务无法启动,整个OpenClaw系统将无法正常运行。本文将详细介绍OpenClaw安装后无法启动的常见原因及故障排查方法,帮助你快速定位并解决问题。

一键难忘的博客 4623

shell 字符串拼接_PHP7字符串、常量与输出

一些PHP常用的基础知识,使你学习起来更加直观。字符串与字符串变量在 PHP中,我们可以用单引号‘’或双引号“”来包裹一段字符,这样我们就定义了一个字符串,将字符串赋给变量,我们得到一个字符串变量。当然单引号与双引号是有区别的。单引号主要用于字符串拼接。双引号里面的字符可以有转义字符双引号里面的字符可以有变量。(变量与后面字符须有空格)双引号可以用大括号包裹一个变量。(有无空格均可)字符串变量常量...

weixin_39757212的博客 498

大模型选型实战:为OpenClaw匹配最优“大脑”的全维度考量

大模型不是越贵越好,也不是参数越高越好,适合自己的使用场景才是最好的。按照我的方法,先明确自己的需求,再选对应的模型,配置多模型自动路由,既能保证体验,又能最大限度降低成本。我自己用这套配置用了半年多,不管是写文章、写代码还是处理复杂问题,都完全够用,成本也很低,大家可以参考一下。如果不知道选什么模型,可以在评论区说一下你的使用场景。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 343

BASH字符串处理:字符串分割为数组

http://codingstandards.iteye.com/blog/1164910 Bash字符串处理(与Java对照) - 25.字符串分割(成数组) In Java String.split  String[]     split(String regex)           根据给定的正则表达式的匹配来拆分此字符串。  String[]

zouyongjin的专栏 7763

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Bash字符串处理(与Java对照) - 23.字符串替换、子串删除、子串截取

Bash字符串处理(与Java对照) - 23.字符串替换、子串删除、子串截取 In Java 字符串替换  String     replace(char oldChar, char newChar)           返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 而生成的。  String     replace(CharSe...

巨人站在肩膀上 633

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

java 字符串截取替换_Bash字符串处理(与Java对照) - 23.字符串替换、子串删除、子串截取...

Bash字符串处理(与Java对照) - 23.字符串替换、子串删除、子串截取In Java字符串替换?String ??? replace(char oldChar, char newChar)????????? 返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 而生成的。?String ??? replace(CharSequence target, C...

weixin_39601641的博客 168

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

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

Bash字符串处理(与Java对照) - 11.比较两个字符串大小(字典顺序、数值比较) In Java String.compareTo int     compareTo(String anotherString)           按字典顺序比较两个字符串。如果返回0,表示相等;&lt;0表示小于;&gt;0 表示大于。   int     compareToIgnor...

巨人站在肩膀上 806

Bash字符串处理(与Java对照) - 3.给(字符串)变量赋值

Bash字符串处理(与Java对照) - 3.给(字符串)变量赋值 In Java 简单赋值情况 s = "Hello";   一次给多个变量赋值的情况 s1 = s2 = "Same";   赋值为整数(将整数转换为字符串) int i = 1234; s = String.valueOf(i); 或 s = "" + i;   In Bash 赋值符号(=) 赋值...

巨人站在肩膀上 308

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

Bash字符串处理(与Java对照) - 12.字符串连接 In Java String.concat String     concat(String str)           将指定字符串联到此字符串的结尾。   String newStr = str.concat(str2);   StringBuilder.append &amp; StringBuffer...

巨人站在肩膀上 171

Bash字符串处理(与Java对照) - 8.计算字符串长度

Bash字符串处理(与Java对照) - 8.计算字符串长度 In Java 取字符数量 一个汉字算1个字符。 int len = s.length();   JavaDoc class String 写道 public int length() Returns the length of this string. The length is equal to ...

巨人站在肩膀上 312

Bash字符串处理(与Java对照) - 4.字符串输出

Bash字符串处理(与Java对照) - 4.字符串输出 In Java 输出到标准输出设备(控制台、屏幕) System.out.println(s);   输出到标准错误设备(控制台、屏幕) System.err.println(s);   输出到文件 PrintWriter outputStream = new PrintWriter(new FileWrite...

巨人站在肩膀上 231

Bash字符串处理(与Java对照) - 20.查找子串的位置

Bash字符串处理(与Java对照) - 20.查找子串的位置 In Java String.indexOf  int     indexOf(String str)           返回第一次出现的指定子字符串在此字符串中的索引。  int     indexOf(String str, int fromIndex)           从指定的索引处开始,返回第...

巨人站在肩膀上 328

Bash字符串处理(与Java对照) - 1.(字符串)变量声明

Bash字符串处理(与Java对照) - 1.(字符串)变量声明 In Java Java中变量名称的规则 Java变量名称是区分大小写的。变量名称是一个合法的标识符,没有长度限制,由Unicode字符、数字、美元符、下划线组成,不能是关键字和保留字。最好是字母开头,跟上字母或数字,采用Camel命名规则。 The Java Tutorials (http://download.oracl...

巨人站在肩膀上 211

Bash字符串处理(与Java对照) - 7.字符串与默认值

Bash字符串处理(与Java对照) - 7.字符串与默认值 In Java StringUtils.defaultString 在字符串为null的时候,返回默认值为""或者指定的字符串。主要是为了避免检查null对象。 org.apache.commons.lang.StringUtils defaultString方法 写道 public static String default...

巨人站在肩膀上 346

Bash字符串处理(与Java对照) - 9.获取字符串指定位置的字符、遍历字符串中的字符...

Bash字符串处理(与Java对照) - 9.获取字符串指定位置的字符、遍历字符串中的字符 In Java 取指定索引位置的字符 char     charAt(int index)          返回指定索引处的 char 值,其中index从0开始计数。   遍历字符串中的字符 int len = s.length(); for (int i = 0; ...

巨人站在肩膀上 316

Bash字符串处理(与Java对照) - 21.字符串正则匹配

Bash字符串处理(与Java对照) - 21.字符串正则匹配 In Java 正则表达式查询 String.matches方法 boolean     matches(String regex)           通知此字符串是否匹配给定的正则表达式。 String str = "123456"; String re = "\\d+"; if (str.matc...

巨人站在肩膀上 524
上一篇: Bash字符串处理(与Java对照) - 1.(字符串)变量声明
下一篇: Bash字符串处理(与Java对照) - 3.给(字符串)变量赋值
codingstandards
博客等级 码龄16年 12粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值