-1

我有一个奇怪的要求,我的表有各种特殊字符的值,我需要编辑它们以适应客户的要求。

我的表如下

 **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. 

或任何这种形式,只是应该删除特殊字符。

我想过拆分列,然后删除特殊字符
,但问题是当我一次有 2 个连续的特殊字符时,我会有一个只有特殊字符的列,我想知道是否有办法解决它。

4

1 回答 1

1

也许尝试用这个正则表达式替换?

^(?=.*?(\w+)\W*(\w+)\W+([JS]r)$).*

并替换为:

$3,$1,$2,$3.

正则表达式 101 演示

如果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[] {','});
于 2013-09-16T15:16:56.317 回答