用于格式化单词的正则表达式

时间:2010-02-04 00:43:16

标签: c# regex

如何格式化字符串

+ XYZ +街+的的地址1 = + 1234 +块+的地址2 = +圣+铁+泉+的状态= +加利福尼亚

到字符串

地址1 = + 1234 +块+ XYZ +街+的&安培的+;地址2 = +圣+铁+泉+的&安培;状态= +加利福尼亚

以下正则表达式无法正常工作。有人可以解决此问题吗?

string inputString = "Address1=+1234+block+of+XYZ+Street+Address2=+Santa+Fe+Springs+State=+California";
string outString = Regex.Replace(inputString,@"([\s])([a-zA-Z0-9]*)(=)","&$1");

2 个答案:

答案 0 :(得分:4)

我想你想要这个

Regex.Replace(inputString,@"\+([a-zA-Z0-9]+)=","+&$1=")

或者如果你想允许+&以外的任何字符。 =在关键字中。

Regex.Replace(inputString,@"\+([^+&=]+)=","+&$1=")

答案 1 :(得分:3)

如果您要做的只是用“&”号前缀“Address2”和“State”:

Regex.Replace(inputString, "(?=Address2=|State=)", "&");