Java如何以逗号和空格和小于号大于号分割字符串
时间: 2024-02-17 22:02:06 浏览: 23
可以使用正则表达式来实现以逗号、空格、小于号和大于号分割字符串。示例代码如下:
```java
String str = "Java is a <programming> language, and it is used <widely>.";
String[] words = str.split("[,\\s<>]+");
for (String word : words) {
System.out.println(word);
}
```
输出结果为:
```
Java
is
a
programming
language
and
it
is
used
widely.
```
在上述代码中,`split("[,\\s<>]+")`中的`[,]`表示匹配逗号,`[\\s]`表示匹配空格,`[<>]`表示匹配小于号和大于号,`+`表示匹配一个或多个逗号、空格、小于号或大于号。这样就可以将字符串按照逗号、空格、小于号和大于号分割成一个字符串数组。
相关问题
输入框中输入内容使用正则判断不能为空、不能为空格和TAB、以及不能为特殊字符,并且最小长度为1位,最大长度为32位
好的,这是一个关于输入框内容验证的问题。对于输入框中输入的内容,可以使用如下正则表达式进行验证:
```
/^(?!\s)[^\s\t!@#$%^&*()\-+={}[\]|\\;:'",.<>/?]{1,32}(?<!\s)$/
```
它的含义是:
- `^` 表示匹配字符串的开始位置;
- `(?!\s)` 表示后面不能紧跟空格;
- `[^\s\t!@#$%^&*()\-+={}[\]|\\;:'",.<>/?]{1,32}` 表示匹配 1 到 32 个非空格、非 TAB、非特殊字符(包括空格符、制表符、感叹号、@、#、$、%、^、&、*、括号、减号、加号、等号、大括号、中括号、竖线、反斜杠、分号、单引号、双引号、逗号、小于号、大于号、问号、斜杠)的字符;
- `(?<!\s)` 表示前面不能紧挨着一个空格;
- `$` 表示匹配字符串的结束位置。
使用这个正则表达式可以判断输入框中输入的内容不能为空、不能为特殊字符、不能以空格或 TAB 开头或结尾,并且最小长度为 1,最大长度为 32。
java中String points[] = content.split("[,,\s<>]+"); 输入<1,b>为什么会输出【, 1, b】
在 Java 中,字符串中的中文逗号 "," 和英文逗号 "," 是不同的字符,因此在使用正则表达式 "[,,\\s<>]+" 进行字符串分割时,输入 "<1,b>" 会被分割成三个部分,分别是空字符串 ""、数字 "1" 和字母 "b"。这是因为该正则表达式使用多个字符作为分隔符,包括逗号、中文逗号、空格、小于号和大于号。当输入字符串中包含 "<" 和 ">" 字符时,这些字符也会被当做分隔符进行分割,从而导致输出结果中包含空字符串和数字、字母。如果你希望分割结果不包含空字符串,可以将正则表达式改为 "[,,\\s<>]+"。