我有一点奇怪的要求我的表具有各种特殊字符的值,我需要编辑它们以满足客户要求。
我的表格如下
**Name**
.xy z., Jr
Jr, .xy z., Jr
Jr. xy z., Sr
,Jr xy, z, Jr
.Jr .xy, z., Jr
Sr\ .xy z., Jr
Ser, xy , z., Jr
./Sr xy,/ z., Jr
<<sr, xy z, Jr
SR, .xy z., Jr
[]sa, .xy z., Jr
ps xy z., Jr
asa xy z., Jr
asad .xy z., Jr
bs/ .xy z., Jr
p[], .xy z., Jr
lold.,.xy z., Jr
scs., .xy z., Jr
losdj .xy z., Jr
.xy z., Jr
.xy./z., Jr
sa .xy z., Jr
我的结束专栏应该是
Jr,xy,z,Jr.
或任何此形式只应删除特殊字符。
我想过拆分列然后删除特殊字符
但问题是,当我有两个连续的特殊字符时,我会有一个特殊字符的列,我想知道如果有办法解决它。
答案 0 :(得分:1)
也许尝试用这个正则表达式替换?
^(?=.*?(\w+)\W*(\w+)\W+([JS]r)$).*
并替换为:
$3,$1,$2,$3.
如果字符串中的Sr
是拼写错误,那么您可以执行以下操作:
^(?=.*?(\w+)\W*(\w+)\W+Jr$).*
并替换为:
Jr,$1,$2,Jr.
编辑:好的,因为可能缺少部件,请尝试:
string output = Regex.Replace(input, @"^\W*(\w*?)\W*(\b\w+\b)\W*(\b\w+\b)\W*(\w*)$", @"$1,$2,$3,$4.").Trim(new Char[] {','});