java - 将字符串中的每个单词或数字组合加倍

标签 java string char

我试图以这种方式将字符串中的每个单词和/或数字/符号组合输入加倍:

My name is >> My My name name is is
148 !! 697 >> 148 148 !! !! 697 697
The code is 428 >>  The The code code is is 428 428

我已经花了一段时间了,但我似乎不知道如何让加倍正常工作或使加倍部分彼此分开。

最佳答案

使用,a regular expression ,你可以很简单地做到这一点。以下groups所有非空白字符 (\S) 并使用反向引用 $1 将其自身替换两次。

public static void main(String[] args) {
    String[] str = { "My name is", "148 !! 697", "The code is 428" };
    Pattern pattern = Pattern.compile("(\\S+)");
    for (String s : str) {
        String res = pattern.matcher(s).replaceAll("$1 $1");
        System.out.println(res);
    }
}

这会打印

My My name name is is
148 148 !! !! 697 697
The The code code is is 428 428

关于java - 将字符串中的每个单词或数字组合加倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36378195/

相关文章:

c++ - 自由字符串作为结构中的字段

c++ - 尝试删除 char* 时出现运行时错误

char - 用模式覆盖 char 字符串

java - 在eclipse中启动Jboss时如何运行批处理作业?

java - 在java中,如何检查给定字符串S中有多少个长度为n的子字符串?

java - 如何强制执行: button. setImageResource(R.drawable.x_sign)?

c - 在将 void* 转换回 String 时遇到一些问题

java - java中使用对象锁实现同步

将逗号分隔的字符串与数字进行比较时,MySQL 出现奇怪的行为

c - 当我将 strlen() 应用于指向单个字符的指针时,为什么我得到的长度为 7?