【问题标题】:Find a character or group of characters in a string and remove them在字符串中查找一个字符或一组字符并删除它们
【发布时间】:2015-03-06 00:28:50
【问题描述】:

我正在尝试构建一个程序

  1. 找到@符号,然后
  2. 找到教育电子邮件地址的.edu 部分,最后
  3. 删除 @school.edu 部分,并返回其余部分。

我已尝试使用charAt,但我不断收到不兼容类型错误,并且我不确定如何删除每次可能位于不同位置的字符串部分。欢迎任何指导。

这是我目前所拥有的:

if (UserEmail.charAt(0) == (".edu"))
String UserName = UserEmail.substring(0,//location of @//)

else 
System.out.print(UserEmail + "is not an acceptable email address.
System.out.print("Type your email address.");
UserEmail = kb.nextLine();

【问题讨论】:

  • 我认为您的代码块中缺少括号和引号。
  • 我改进了格式和语法。
  • 谢谢@Benjamin 和@Jubobs!

标签: java string charat


【解决方案1】:

你可以使用string.replaceAll函数。

string.replaceAll("@\\S+?\\.edu\\b", "");

\\S+? 将对一个或多个非空格字符进行非贪婪匹配。

示例:

String r = "foo@school.edu bar";
System.out.println(r.replaceAll("@\\S+?\\.edu\\b", ""));

输出:

foo bar

【讨论】:

  • 完美,谢谢!最后一个问题,我一直在这一行收到“非法开始表达式错误:if (UserEmail.charAt(0) == (".edu")) 输出“线程中的异常”主“不可编译的源代码- 无法比较的类型:string.STRING.main(" 中的 char 和 java.lang.String 可能导致此错误?
猜你喜欢
  • 2014-01-15
  • 1970-01-01
  • 2022-11-23
  • 1970-01-01
  • 2012-11-27
  • 2023-01-26
  • 2013-03-02
  • 2020-04-12
  • 1970-01-01
相关资源
最近更新 更多