我有一个项目要求我在一个单词的每个字母后插入一个随机数(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 "));
答案 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);
这应该有用,如果没有,它可能会让你知道如何解决它
的随机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