String aa = "String DB_URL = \"jdbc:mysql://106.15.198.146:3306/ehl-prd?useUnicode?=true&characterEncoding=ut";以问号为界限,分割成三段,代码实现
时间: 2024-03-05 14:52:32 浏览: 58
可以使用 String 类的 `split()` 方法来分割字符串,代码实现如下:
```
String aa = "String DB_URL = \"jdbc:mysql://106.15.198.146:3306/ehl-prd?useUnicode?=true&characterEncoding=ut";
String[] parts = aa.split("\\?"); // 使用转义符 \ 将 ? 转义
String part1 = parts[0];
String part2 = parts[1];
String part3 = parts[2];
System.out.println(part1);
System.out.println(part2);
System.out.println(part3);
```
输出结果如下:
```
String DB_URL = "jdbc:mysql://106.15.198.146:3306/ehl-prd
useUnicode?=true&characterEncoding=ut
```
其中,`\\?` 表示将 ? 转义,因为 ? 在正则表达式中有特殊意义,需要转义才能作为分割符使用。
相关问题
String DB_URL = "jdbc:mysql://106.15.198.146:3306/ehl-prd?useUnicode=true&characterEncoding=utP"; String[] split = DB_URL.split("/?");
在您提供的代码中,`split` 方法的参数为 `"/?"`,这是一个正则表达式,表示匹配一个斜杠 `/` 或一个问号 `?`。因为 `/` 和 `?` 都是正则表达式中的特殊字符,因此需要使用反斜杠对它们进行转义。应该将 `split` 方法的参数修改为 `"\\?/"`,示例如下:
```java
String DB_URL = "jdbc:mysql://106.15.198.146:3306/ehl-prd?useUnicode=true&characterEncoding=utf8";
String[] split = DB_URL.split("\\?/");
```
这样就可以正确地将字符串 `DB_URL` 按照 `/?` 进行分割了。注意,这里使用了两个反斜杠 `\\` 对问号进行转义,因为在 Java 中,反斜杠本身也是一个特殊字符,需要使用另一个反斜杠进行转义。
String DB_URL = "jdbc:mysql://106.15.198.146:3306/ehl-prd?useUnicode=true&characterEncoding=utf8";取出问号前面的数据
可以使用 Java 中的字符串截取(substring)方法来实现:
```java
String DB_URL = "jdbc:mysql://106.15.198.146:3306/ehl-prd?useUnicode=true&characterEncoding=utf8";
String data = DB_URL.substring(0, DB_URL.indexOf("?"));
System.out.println(data); // 输出:jdbc:mysql://106.15.198.146:3306/ehl-prd
```
上述代码中,`indexOf` 方法用于获取字符串中的某个字符或子串的位置,返回值为该字符或子串在字符串中的索引位置,如果没有找到则返回 -1。通过 `substring` 方法截取出问号前的字符串。
阅读全文