如何在批处理脚本中将字符串拆分为 3 个不同的字符串?
Posted
技术标签:
【中文标题】如何在批处理脚本中将字符串拆分为 3 个不同的字符串?【英文标题】:How do i split a string into 3 different one's in a batch script? 【发布时间】:2021-03-17 05:57:41 【问题描述】:我已经研究了一段时间的加密程序,我已经弄清楚如何加密文本和内容,但现在我需要恢复它。
我的输出将如下所示: 1.234.23415.513513.135524.111[1234]
句号前的数字是字符或空格, 是我的第一个键,[] 是我的第二个键。 让我很难过的事情是使用 111 和 [1234] 并将它们都设置为它们自己的字符串/变量。这是必需的,所以我可以将其转换回来。
所以我的问题是如何获取字符串: "1.234.23415.513513.135524.111[1234]" 并设置 、[] 和数字之间的值并将它们设置为 3 个不同的字符串?
(不是英语请原谅我糟糕的语法和拼写) (密钥长度不会改变)
【问题讨论】:
for /f "tokens=1-3 delims=[]" %a in ( "1.234.23415.513513.135524.111[1234]") do echo %a %b %c
(在批处理文件中使用,将每个%
替换为%%
。阅读for /f
了解它的工作原理和更多信息。(PS:我删除了encryption
标记,因为您的问题与加密无关,而是与字符串处理有关。
小心!加密很难正确。聪明的程序员不会将其他人的秘密委托给他们自己编写的加密模块,除非他们的名字是 Bruce Schneier 或 Whit Diffie。
谢谢你们,我也不打算和其他人一起使用它,它只是为了学习技能。我也将其称为加密,因为在我的代码中我使用 2 个密钥将文本转换为数字,然后使用数学运行密钥以生成只能使用密钥计算的文本。
【参考方案1】:
(完全归功于@Stephan) 这不是我的答案,但人们会看答案,而不是 cmets。
for /f "tokens=1-3 delims=[]" %a in ( "1.234.23415.513513.135524.111[1234]") do set "string=%a" & set "key1=%b" & set "key2=%c"
(要在批处理文件中使用,请将每个%
替换为%%
。阅读for /f
了解其工作原理和更多信息。)
【讨论】:
以上是关于如何在批处理脚本中将字符串拆分为 3 个不同的字符串?的主要内容,如果未能解决你的问题,请参考以下文章