From 8fdd8cbe963c89779cc6d833bc4afc9705708240 Mon Sep 17 00:00:00 2001 From: Jason315 Date: Fri, 28 Jun 2019 15:59:34 +0800 Subject: [PATCH] Update 18-Strings Signed-off-by: Jason315 --- docs/book/18-Strings.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/book/18-Strings.md b/docs/book/18-Strings.md index 3d5ba8c..d4b56a5 100644 --- a/docs/book/18-Strings.md +++ b/docs/book/18-Strings.md @@ -470,16 +470,16 @@ Total 49.39 ### `Formatter`转换 下面的表格展示了最常用的类型转换: | 类型 | 含义 | -| :----: | ---- | -| `d` |整型(十进制)| -| `c` |Unicode字符| -| `b` |Boolean值| -| `s` |String| -| `f` |浮点数(十进制)| -| `e` |浮点数(科学计数)| -| `x` |整型(十六进制)| -| `h` |散列码(十六进制)| -| `%` |字面值“%”| +| :----: | :---- | +| `d` | 整型(十进制) | +| `c` | Unicode字符 | +| `b` | Boolean值 | +| `s` | String | +| `f` | 浮点数(十进制) | +| `e` | 浮点数(科学计数) | +| `x` | 整型(十六进制) | +| `h` | 散列码(十六进制) | +| `%` | 字面值“%” | 下面的程序演示了这些转换是如何工作的: ```java // strings/Conversion.java @@ -856,8 +856,8 @@ true + **占有型**: 目前,这种类型的量词只有在Java语言中才可用(在其他语言中不可用),并且也更高级,因此我们大概不会立刻用到它。当正则表达式被应用于`String`时,它会产生相当多的状态,以便在匹配失败时可以回溯。而“占有的”量词并不保存这些中间状态,因此它们可以防止回溯。它们常常用于防止正则表达式失控,因此可以使正则表达式执行起来更高效。 -|贪婪型|勉强型|占有型|如何匹配| -|----|----|----|----| +| 贪婪型 | 勉强型 | 占有型 | 如何匹配 | +| ---- | ---- | ---- | ---- | | `X?` | `X??` | `X?+` | 一个或零个`X` | | `X*` | `X*?` | `X*+` | 零个或多个`X` | | `X+` | `X+?` | `X++` | 一个或多个`X` | @@ -1505,7 +1505,7 @@ But I'm not dead yet! I feel happy! But I'm not dead yet! I feel happy! */ ``` -使用正则表达式或`Scanner`对象,我们能够以更加复杂的模式来分割一个字符串,而这对于`StringTokenizer`来说就很困难了。基本上,我们可以放心地说,`StringTokenizer`已经可以废弃不用了 [^2]。 +使用正则表达式或`Scanner`对象,我们能够以更加复杂的模式来分割一个字符串,而这对于`StringTokenizer`来说就很困难了。基本上,我们可以放心地说,`StringTokenizer`已经可以废弃不用了。