在单词的每个字母之间插入一个数字

时间:2017-02-01 13:29:34

标签: java

我有一个项目要求我在一个单词的每个字母后插入一个随机数(0到9之间),有什么方法可以做到这一点吗?

IF NOT %ERRORLEVEL% == 0 GOTO END
pushd \\thunder\Contracte\contracte\CONTRACTE NEVOI PERSONALE\Contracte nevoi personale 235001N - 237500N\
for /f "delims=" %%a in ('dir /b /s ^| find "235110"') do (
cd ..
xcopy "%%a" "%destination%\CtrExtrase\235110NA\" /E /D /Y )
popd
@ECHO ---
:END
popd

IF NOT %ERRORLEVEL% == 0 GOTO END
pushd \\thunder\Contracte\contracte\CONTRACTE NEVOI PERSONALE\Contracte nevoi personale 235001N - 237500N\
for /f "delims=" %%a in ('dir /b /s ^| find "235449"') do (
cd ..
xcopy "%%a" "%destination%\CtrExtrase\235449NA\" /E /D /Y )
popd
@ECHO ---
:END
popd

我可以使用此代码在每个字母之间留一个空格,但我不确定如何随机插入数字

System.out.println(sent.replaceAll(".(?!$)", "$0 "));

3 个答案:

答案 0 :(得分:1)

String sent="a b c d e f";
Random r=new Random();
while(sent.contains(" ")){
    int f= random.nextInt(9-0+1)+0;
    sent=sent.replaceFirst(" ",String.valueOf(f));
}
System.out.println(sent);

这应该有用,如果没有,它可能会让你知道如何解决它

来自Generating a Random Number between 1 and 10 Java

的随机int代码

答案 1 :(得分:1)

像这样的东西。不完美/优化,但应该做的工作。

    final int min = 0;
    final int max = 9;
    final String inputString= "testingThisString";
    String str = "";
    final Random random = new Random();
    for(final char c: inputString.toCharArray()){
        final int randomNumber = random.nextInt(max - min) + min;
        str += c + "" + String.valueOf(randomNumber);
    }
    System.out.println(str);

答案 2 :(得分:1)

在这种情况下,Stream可能很有用:

final Random rand = new Random();
String str = "string";
str = Stream.of(str.split("")).map(
             x -> x + Integer.valueOf(rand.nextInt(10))
      ).collect(Collectors.joining());
System.out.println(str); // s8t9r6i0n1g6

我们在字符串中获得单个字母流,并为每个字符串添加一个随机数。最后,我们将所有内容连接起来以获得最终字符串

小更新。由于java-8 String类具有返回字符流的chars方法。所以我们可以直接使用它而不拆分原始字符串。例如:

Random rand = new Random();
String str = "string";
str = str.chars().mapToObj(
          c -> String.valueOf((char)c) + rand.nextInt(10)
      ).collect(Collectors.joining());
System.out.println(str); // s5t7r8i4n3g1