批量从字符串中提取数字
Extracting numbers from string in batch
我有格式为 Name .00
的文件,我只想提取数字($
之后的所有内容),以便稍后比较它们。我该怎么做?
假设列由 space(s) 分隔,这应该有效:
sed 's/.* \+$\(.\+\)//' your_input_file
@dekkard 提供的答案是针对 UNIX 的。您想要 CMD 或 BAT 文件的解决方案。你的问题有点简单,所以为了让答案简单,我不会接受:
- 数字后面的字符...如果需要可以添加。
- 数字中的逗号...如果需要可以容纳
- $ 在 name/description 字段中,而不是紧接在数字
之前
您没有指定是否要保留小数点。如果您稍后要进行整数比较,大概您不会这样做。在 BAT 文件中使用其中之一。
如果你不需要小数点:
for /f "tokens=2-3 delims=$." %%a in (YourFile.txt) do echo(%%a%%b
如果你想保留小数点就用这个
for /f "tokens=2-3 delims=$" %%a in (YourFile.txt) do echo(%%a%%b
从 CMD 行使用其中之一
for /f "tokens=2-3 delims=$." %a in (YourFile.txt) do echo(%a%b
或
for /f "tokens=2-3 delims=$" %a in (YourFile.txt) do echo(%a%b
我有格式为 Name .00
的文件,我只想提取数字($
之后的所有内容),以便稍后比较它们。我该怎么做?
假设列由 space(s) 分隔,这应该有效:
sed 's/.* \+$\(.\+\)//' your_input_file
@dekkard 提供的答案是针对 UNIX 的。您想要 CMD 或 BAT 文件的解决方案。你的问题有点简单,所以为了让答案简单,我不会接受:
- 数字后面的字符...如果需要可以添加。
- 数字中的逗号...如果需要可以容纳
- $ 在 name/description 字段中,而不是紧接在数字 之前
您没有指定是否要保留小数点。如果您稍后要进行整数比较,大概您不会这样做。在 BAT 文件中使用其中之一。
如果你不需要小数点:
for /f "tokens=2-3 delims=$." %%a in (YourFile.txt) do echo(%%a%%b
如果你想保留小数点就用这个
for /f "tokens=2-3 delims=$" %%a in (YourFile.txt) do echo(%%a%%b
从 CMD 行使用其中之一
for /f "tokens=2-3 delims=$." %a in (YourFile.txt) do echo(%a%b
或
for /f "tokens=2-3 delims=$" %a in (YourFile.txt) do echo(%a%b