编写java程序,输入两个字符串str和tok。其中tok由若干字符构成,每个字符均可作为一个分隔字符对str进行分隔。 注意:str和tok中均可以包含空格。如果tok含有空格,则空格也作为str的分隔字符。 【输入形式】控制台分两行输入两个字符串str和tok。 【输出形式】分行输出str被分隔后的各字符串。 【样例输入】 jfi,dpf.,jfpe&df-jfpf/□□jfoef$djfo□,pe ,. □/&$- (上例中“□”代表一个空格) 【样例输出】 jfi dpf jfpe df jfpf jfoef djfo pe 【样例说明】输入字符串str = “jfi,dpf.,jfpe&df-jfpf/□□jfoef$djfo□,pe”,tok = “,. □/&$-”,tok中的每一个字符(包括空格)均可作为str的分隔符,输出如上例所示。
时间: 2024-03-14 18:46:50 浏览: 25
好的,这是一个字符串处理问题,我可以帮你写一个Java程序来解决它。以下是代码:
```java
import java.util.Scanner;
public class StringSplit {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String str = input.nextLine();
String tok = input.nextLine();
input.close();
String[] tokens = tok.split(" ");
for (String token : tokens) {
str = str.replace(token, " ");
}
String[] words = str.split("\\s+");
for (String word : words) {
System.out.println(word);
}
}
}
```
这个程序首先从控制台读取两个字符串str和tok。然后它将tok分割成若干个字符,对于每个字符,它都使用Java中的replace方法将其替换为空格。这样,程序就可以使用Java中的split方法将str分割成若干个单词,然后将它们逐行输出。
需要注意的是,由于tok中可能包含空格,我们需要将其作为分隔符进行处理。在Java中,使用正则表达式时,空格可以用"\\s"表示。
希望这个程序能够满足你的需求。