我正在使用.NET / C#,我想创建以下正则表达式。我想从字符串里面的开头/结尾删除非字母数字字符。它不会影响中间数据。(字母数字区域内的数据)。只有字母数字字符前后的数据如下:
例如:
Input:
<td>;[Bob Smith:</td><h1>.#</h1>
<td> Mary L. Jane ? </td>
<td>- + Mike T+ Rodgers + </td>
<td>@#1236^&</td>
<td> -54-321A-</td>
Output:
<td>Bob Smith</td><h1>.#</h1>
<td>Mary L. Jane</td>
<td>Mike T+ Rodgers</td>
<td>1236</td>
<td>54-321A</td>
先谢谢
答案 0 :(得分:1)
使用@"(?<=<td>)[^\da-zA-Z<]+|[^\da-zA-Z>]+(?=</td>)"
作为模式。 (使用积极的外观断言)
例如:
string str = @"<td>;[Bob Smith:</td><h1>.#</h1>
<td> Mary L. Jane ? </td>
<td>- + Mike T+ Rodgers + </td>
<td>@#1236^&</td>
<td> -54-321A-</td>";
string replaced = Regex.Replace(
str,
@"(?<=<td>)[^\da-zA-Z<]+|[^\da-zA-Z>]+(?=</td>)",
"");
Console.WriteLine(replaced);