java - java中提取省略某些字符的字符串

标签 java string substring

这是我的字符串

1 AP(PEAR + ANC)E (CAN anag)

14 EN(T)ICE (NIECE anag)

15 CHIC(“SHEIK”霍姆)

该字符串隐藏了一个答案, 第一个字符串有答案 APPEARANCE,第二个字符串有答案 ENTICE 我必须从字符串中单独提取那些特定的答案。 我试图通过

从中提取这些词
String input = "AP(PEAR + ANC)E (CAN anag)";;
String output = input.substring(0, input.indexOf(' '));
System.out.println(output);

输出:

AP(梨

如您所见,R 后面有一个空格,因此子字符串停在那里,因此输出也如此。但是有没有办法读到字符“E”(即字符串“APPEARANCE”的末尾)?如果有空格并且如果下一个字符是“(”,我想停止阅读。

我在同一程序中有另一种类型的字符串“EN(T)ICE (NIECE anag)”

String input = "EN(T)ICE (NIECE anag)";
String output = input.substring(0, input.indexOf(' '));
System.out.println(output);

输出:

EN(T)ICE

字符“E”后面有一个空格,因此它成功地给出了完整的输出。有没有办法让第一个字符串得到这样的输出。 ?任何帮助都会很棒!!

最佳答案

使用replaceAll代替indexOfsubstring

String[] inputs = {
    "AP(PEAR + ANC)E (CAN anag)",
    "EN(T)ICE (NIECE anag)", 
    "CHIC (\"SHEIK\" hom)"};
for (String s : inputs) {
    String output = s.replaceAll(" \\(.*|[()+\\s]", "");
    System.out.println(output);
}

结果:

APPEARANCE
ENTICE
CHIC

关于java - java中提取省略某些字符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36937043/

相关文章:

java - 有没有办法在 Log4j 日志消息中显示用户数据?

c# - 当字符串由多个空值分隔时将字符串解析为数组

javascript - jQuery 上的子字符串

java - 寻找 DNA Java 的超序列

SQL Server : How to group by substring

java - 如何将 "variables"WHERE 子句注入(inject)查询?

java - Eclipse Stacktrace System.err 问题

java - 如何解析 JSON 值中的转义字符?

ios - 如何提取从 Eureka Forms 解析的值?

C++ 使用带字符串的标准算法,带 isdigit 的 count_if,函数转换