java中用正则表达式将字符串以空格分开
时间: 2024-01-26 08:04:24 浏览: 91
你可以使用Java中的String类的split()方法和正则表达式来实现将字符串以空格分开。
下面是一个示例代码:
```java
String str = "hello world";
String[] arrOfStr = str.split("\\s+");
for (String a : arrOfStr)
System.out.println(a);
```
输出结果为:
```
hello
world
```
在上面的代码中,我们使用了split()方法并传入一个正则表达式"\\s+"作为参数。这个正则表达式表示一个或多个空格。这将导致split()方法在字符串中找到所有的空格,并将字符串分隔成一个字符串数组。
然后,我们使用for循环遍历数组并输出每个字符串。
相关问题
java中用正则表达式提取txt文件并保留文件格式
在Java中,你可以使用`java.util.regex.Pattern`和`java.io.BufferedReader`等类结合,配合`Files.lines()`方法来读取TXT文件,并利用正则表达式(Pattern.compile())来提取需要的信息。下面是一个简单的示例:
```java
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExtract {
public static void main(String[] args) {
String filePath = "path_to_your_txt_file.txt"; // 替换为你的文件路径
String regexPattern = "(?i)\\bkeyword\\b"; // 替换为你想匹配的关键字,(?i)表示忽略大小写
try (BufferedReader reader = new BufferedReader(new FileReader(new File(filePath)))) {
Pattern pattern = Pattern.compile(regexPattern);
for (String line; (line = reader.readLine()) != null; ) {
Matcher matcher = pattern.matcher(line);
if (matcher.find()) { // 如果找到匹配项
System.out.println("Original line: " + line);
System.out.println("Matched keyword: " + matcher.group()); // 输出匹配到的内容
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个例子中,程序会遍历每个TXT文件行,如果行中包含指定的关键字,就会打印出原始行以及匹配到的关键词。
在Java中用正则表达式来匹配一段文字中是否包含url
可以使用以下的正则表达式来匹配一段文字中是否包含url:
```java
String text = "这是一段包含url的文字 https://www.example.com/path?query=string";
String regex = "(?i)\\b((?:https?|ftp)://\\S+\\b/?\\S*)";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(text);
boolean hasUrl = matcher.find();
System.out.println(hasUrl); // 输出 true
```
其中,`(?i)` 表示忽略大小写,`\\b` 表示单词边界,`(?:https?|ftp)` 表示匹配 http、https 或 ftp,`\\S+` 表示匹配非空白字符,`\\b/?\\S*` 表示匹配可选的 `/` 和非空白字符。如果匹配成功,则 `hasUrl` 为 `true`,否则为 `false`。
阅读全文