【发布时间】:2017-07-04 20:33:24
【问题描述】:
我正在寻找一种方法来查找文本的一部分并使用 C# 更改文本后面的数字
我已经让它在 .batch 程序中工作,但我想让它在 Visual Studio 中更合适。
这是一种文本文件,我需要在其中更改 X 或/和 Y 之后的数字:(更改的意思是在我们已经存在的数字上添加一个特定的数字)
N1 G17 G90
N3 G54
N5 S24000
N7 M03
N9 G00 X2675.766 Y427.409 Z730
N11 G00 X2675.766 Y427.409
N13 G00 X2675.766 Y427.409
N15 G00 X2675.766 Y427.409 Z505
N17 F4000
N19 G01 X2675.766 Y427.409 Z447.5
N21 F4000
N23 G01 X2565.966 Y475.823 Z447.5
N25 F4000
N27 G02 X1852.832 Y871.38 Z447.5 I4373.42 J4575.032
N29 G03 X705.065 Y871.38 Z447.5 I1278.948 J28.138
N31 G02 X-8.069 Y475.823 Z447.5 I-1815.523 J4575.032
N33 M05
N35 M30
这就是批处理文件目前的工作方式。
@echo off
setlocal EnableDelayedExpansion
echo[
echo[
set /p file="file name? = "
echo[
echo[
set /p Xdir="X + :"
echo[
echo[
set /p Ydir="Y + :"
(for /F "tokens=1-4*" %%a in (%file%.nc) do (
if "%%d" equ "" (
echo %%a %%b %%c
) else (
for /F "tokens=1,2 delims=X." %%C in ("%%c") do (
set /A X=%%C+%Xdir%
if "%%D" neq "" set "X=!X!.%%D"
)
for /F "tokens=1,2 delims=Y." %%D in ("%%d") do (
set /A Y=%%D+%Ydir%
if "%%E" neq "" set "Y=!Y!.%%E"
)
echo %%a %%b X!X! Y!Y! %%e
)
)) > %file%_ar.nc
echo je Your new file " %file%_ar.nc " is created.
pause
在我的 Visual Studio 中,我得到了: X 和/或 Y 的 2 个文本字段。命名为 Xdir_btn,Ydir_btn 1 btn 称为生成。命名为 Generate_btn 1 个富文本框。命名为 RichTextBox(这是我打开文本文件时进入的地方)。 网上有enoguh教程可以查找和替换指定文本,但不打算更改指定文本后面的东西。
【问题讨论】:
-
我认为不需要将“批处理文件”放在这里。
-
@Lei Yang,我只是把它放在那里给那些知道批处理的人,所以他们知道我的意思:)
-
@Bennett Yeo,我不需要更改文本我需要更改文本“X 和/或 Y”后面的数字,并且可以从 0.000 到 9000.000 不同
标签: c#