【发布时间】:2013-09-07 12:42:32
【问题描述】:
我的 RichtexBox1 上有以下句子,如果句子以 Create table 开头并以分号结尾,我可以在每行之间只留一个行间距,并且不要留任何行间距
结果:
ALTER TABLE "COURSE" DROP CONSTRAINT "CRSE_CRSE_FK";
ALTER TABLE "ENROLLMENT" DROP CONSTRAINT "ENR_STU_FK";
ALTER TABLE "ENROLLMENT" DROP CONSTRAINT "ENR_SECT_FK";
ALTER TABLE "ENROLLMENT" ADD CONSTRAINT "ENR_STU_FK" FOREIGN KEY ("STUDENT_ID") REFERENCES "STUDENT"("STUDENT_ID") ENABLE;
ALTER TABLE "ENROLLMENT" ADD CONSTRAINT "ENR_SECT_FK" FOREIGN KEY ("SECTION_ID") REFERENCES "SECTION"("SECTION_ID") ENABLE;
CREATE TABLE "COMP1"
( "EMPID" NUMBER,
"EMPLNAME" VARCHAR2(20),
"EMPFNAME" VARCHAR2(20),
"DEPTNO" NUMBER,
"MGRID" NUMBER,
PRIMARY KEY ("EMPID") ENABLE
);
CREATE TABLE "COMP12"
( "EMPID" NUMBER,
"EMPLNAME" VARCHAR2(20),
"EMPFNAME" VARCHAR2(20),
"DEPTNO" NUMBER,
"MGRID" NUMBER,
PRIMARY KEY ("EMPID") ENABLE
);
预期结果
ALTER TABLE "COURSE" DROP CONSTRAINT "CRSE_CRSE_FK";
ALTER TABLE "ENROLLMENT" DROP CONSTRAINT "ENR_STU_FK";
ALTER TABLE "ENROLLMENT" DROP CONSTRAINT "ENR_SECT_FK";
ALTER TABLE "ENROLLMENT" ADD CONSTRAINT "ENR_STU_FK" FOREIGN KEY ("STUDENT_ID") REFERENCES "STUDENT"("STUDENT_ID") ENABLE;
ALTER TABLE "ENROLLMENT" ADD CONSTRAINT "ENR_SECT_FK" FOREIGN KEY ("SECTION_ID") REFERENCES "SECTION"("SECTION_ID") ENABLE;
CREATE TABLE "COMP1"
( "EMPID" NUMBER,
"EMPLNAME" VARCHAR2(20),
"EMPFNAME" VARCHAR2(20),
"DEPTNO" NUMBER,
"MGRID" NUMBER,
PRIMARY KEY ("EMPID") ENABLE
);
CREATE TABLE "COMP12"
( "EMPID" NUMBER,
"EMPLNAME" VARCHAR2(20),
"EMPFNAME" VARCHAR2(20),
"DEPTNO" NUMBER,
"MGRID" NUMBER,
PRIMARY KEY ("EMPID") ENABLE
);
我的代码(仅添加 2 行空白)
List<string> rt = new List<string>();
foreach (string line in richtexBox1 .Lines)
{
if (line != "")
{
rt.Add(line);
rt.Add("");
}
}
richtexBox1 .Lines = rt.ToArray();
【问题讨论】:
-
到目前为止你尝试过什么?
-
rt.Add("");- 你为每个“真实”行添加一个空行,然后想知道为什么会有额外的空行?! o_O - 在你的foreach中试试这个:rt.Add(line); if (line.Trim().EndsWith(";")) { rt.Add(""); }。因为正如你所说,如果前一个“以分号结尾”,你只需要一个空行。 -
我看不懂你的代码?您从 rtb (
foreach (string line in richTextBox1 .Lines)) 中取出每一行,然后将它们添加到带有空行 (rt.Add("")) 的列表 (rt.Add(line)) 中,然后将它们放回 rtb (richTextBox1 .Lines = rt.ToArray()) 中?这是故意的吗? -
有一些空格要删除,并在每个分号后留出 2 个行空格!!!
-
我添加了我的问题。谢谢
标签: c# regex winforms richtextbox