C# code
-
private
void
button1_Click(
object
sender, EventArgs e)
{
List
<
string
>
olist
=
new
List
<
string
>
(
new
string
[] {
"
>=
"
,
"
<=
"
,
"
++
"
,
"
+=
"
,
"
-=
"
,
"
==
"
});
//
组合符号
List
<
char
>
list
=
new
List
<
char
>
(
new
char
[] {
'
'
,
'
,
'
,
'
;
'
,
'
{
'
,
'
}
'
,
'
(
'
,
'
)
'
,
'
+
'
,
'
-
'
,
'
=
'
,
'
>
'
,
'
<
'
});
//
单符号
string
txt
=
System.Text.RegularExpressions.Regex.Replace(textBox1.Text.Trim(),
@"
\s
"
,
"
"
);
string
temp
=
""
;
for
(
int
i
=
0
;i
<
txt.Length;i
++
)
{
if
(i
<
txt.Length
-
1
)
{
if
(olist.Contains(txt[i].ToString()
+
txt[i
+
1
].ToString()))
{
if
(temp.Length
>
0
)
{
listBox1.Items.Add(temp);
temp
=
""
;
}
listBox1.Items.Add(txt[i].ToString()
+
txt[i
+
1
].ToString());
i
++
;
continue
;
}
}
if
(list.Contains(txt[i]))
{
if
(temp.Length
>
0
)
{
listBox1.Items.Add(temp);
temp
=
""
;
}
if
(txt[i]
!=
'
'
)
listBox1.Items.Add(txt[i].ToString());
continue
;
}
temp
+=
txt[i].ToString();
}
}
处理代码
测试代码:
C/C++ code
-
int a,b;
main()
{
if(a>b)
a+b=10;
else if(a==b)
a-=b;
else
a=b;
}
结果:
private void button1_Click( object sender, EventArgs e) { List < string > olist = new List < string > ( new string [] { " >= " , " <= " , " ++ " , " += " , " -= " , " == " }); // 组合符号 List < char > list = new List < char > ( new char [] { ' ' , ' , ' , ' ; ' , ' { ' , ' } ' , ' ( ' , ' ) ' , ' + ' , ' - ' , ' = ' , ' > ' , ' < ' }); // 单符号 string txt = System.Text.RegularExpressions.Regex.Replace(textBox1.Text.Trim(), @" \s " , " " ); string temp = "" ; for ( int i = 0 ;i < txt.Length;i ++ ) { if (i < txt.Length - 1 ) { if (olist.Contains(txt[i].ToString() + txt[i + 1 ].ToString())) { if (temp.Length > 0 ) { listBox1.Items.Add(temp); temp = "" ; } listBox1.Items.Add(txt[i].ToString() + txt[i + 1 ].ToString()); i ++ ; continue ; } } if (list.Contains(txt[i])) { if (temp.Length > 0 ) { listBox1.Items.Add(temp); temp = "" ; } if (txt[i] != ' ' ) listBox1.Items.Add(txt[i].ToString()); continue ; } temp += txt[i].ToString(); } }
int a,b;
main()
{
if(a>b)
a+b=10;
else if(a==b)
a-=b;
else
a=b;
}
int
a
,
b
;
main
(
)
{
if
(
a
>
b
)
a
+
b
=
10
;
else
if
(
a
==
b
)
a
-=
b
;
else
a
=
b
;
}
:正确
int
a
,
b
;
main
(
)
{
if
(
a
>
b
)
a
+
b
=
10
;
else
if
(
a
==
b
)
a
-=
b
;
else
a
=
b
;
}