从字符串中删除字符?

发布于 2024-12-06 03:18:20 字数 256 浏览 2 评论 0原文

我正在输入字符串中搜索以下文本: +Bob

如果程序找到 +Bob,我希望它删除之前的 + Bob

但是,我不希望程序消除所有 +,而只是消除 + 在 Bob 之前或之后的 +,无论有或没有干预空白。因此,例如 + Bob 的字符串仍算作 +Bob

I am searching for the following text in an input string: +Bob

If the program finds +Bob, I want it to remove the + before Bob

However, I do not want the program to eliminate all +'s, just +'s before or after Bob, with or without intervening whitespace. So a string for example of: + Bob still counts as +Bob.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

半寸时光 2024-12-13 03:18:20
String str = "+Bob foo + bar";
str = str.replace("+Bob", "Bob");
System.out.println(str);

鲍勃·富 + 酒吧

要处理 +Bob 之间的空格,您可以使用正则表达式:

String str = "+Bob foo + bar";
str = str.replaceAll("\\+\\s*Bob", "Bob");

要随后检查加号,请使用

str = str.replaceAll("Bob\\s*\\+", "Bob");
String str = "+Bob foo + bar";
str = str.replace("+Bob", "Bob");
System.out.println(str);

Bob foo + bar

To handle a space between + and Bob you can use regular expressions:

String str = "+Bob foo + bar";
str = str.replaceAll("\\+\\s*Bob", "Bob");

To check for a plus afterwards, use

str = str.replaceAll("Bob\\s*\\+", "Bob");
彩虹直至黑白 2024-12-13 03:18:20
public class Test {
  public static void main(String[] args) throws Exception {
    String regexp = "(?)\\+(\\s?)+Bob";
    System.out.println("+Bob foo + bar".replaceAll(regexp, "Bob"));
    System.out.println("+  Bob foo + bar".replaceAll(regexp, "Bob"));
    System.out.println("+  Bob foo + bar  +Bob".replaceAll(regexp, "Bob"));
    System.out.println("+  Bob foo + bar  +    Bob".replaceAll(regexp, "Bob"));
 }
}
/* output :
Bob foo + bar
Bob foo + bar
Bob foo + bar  Bob
Bob foo + bar  Bob
*/
public class Test {
  public static void main(String[] args) throws Exception {
    String regexp = "(?)\\+(\\s?)+Bob";
    System.out.println("+Bob foo + bar".replaceAll(regexp, "Bob"));
    System.out.println("+  Bob foo + bar".replaceAll(regexp, "Bob"));
    System.out.println("+  Bob foo + bar  +Bob".replaceAll(regexp, "Bob"));
    System.out.println("+  Bob foo + bar  +    Bob".replaceAll(regexp, "Bob"));
 }
}
/* output :
Bob foo + bar
Bob foo + bar
Bob foo + bar  Bob
Bob foo + bar  Bob
*/
独闯女儿国 2024-12-13 03:18:20

抱歉,我对你们投了反对票,因为答案是:使用 StringBuffer.deleteCharAt(int Index)

Sorry I downvoted you guys because the answer is: use StringBuffer.deleteCharAt(int Index)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文