c# - 是否可以使用正则表达式从整个字符串中删除每个出现的字符及其后的一个字符?
问题描述
是否可以从整个字符串中删除每个出现的字符 + 一个字符?
这是一个实现我描述的代码,但相当大:
private static string FilterText(string text){
string filteredText = text;
while (true)
{
int comaIndex = filteredText.IndexOf('.');
if (comaIndex == -1)
{
break;
}
else if (comaIndex > 1)
{
filteredText = filteredText.Substring(0, comaIndex) + filteredText.Substring(comaIndex + 2);
}
else if (comaIndex == 1)
{
filteredText = filteredText[0] + filteredText.Substring(comaIndex + 2);
}
else
{
filteredText = filteredText.Substring(comaIndex + 2);
}
}
return filteredText;
}
此代码将例如输入.Otest.1 .2.,string.w..
到test string
使用正则表达式是否可以达到相同的结果?
解决方案
你想用
var output = Regex.Replace(text, @"\..", RegexOptions.Singleline);
请参阅.NET 正则表达式演示。详情:
\.
- 匹配一个点.
RegexOptions.Singleline
- 由于使用的选项,匹配任何字符,包括换行字符。
推荐阅读
- angular - 使用 AngularFirestore 和 firebase 的“ERROR TypeError: Object(...) is not a function”
- r - 如果满足条件,则复制前一行
- sql - SQL Server 存储过程 - 如果存在则跳过,否则插入
- sql - 例如,高于特定价值(500 美元)的商品的百分比?
- android - Bundle 是可以为空的,即使我没有这样声明它
- regex - unix 找到带有模式的正则表达式,而不是以另一个模式结尾
- react-native - 图像调整大小封面 - 保持图像的左上角
- python-2.7 - 单位转换器,用户在公里或英里之间选择
- mysql - 如何为友谊关系创建sql(mysql)?
- c# - 如何从 Xamarin android 资源中的 strings.xml 正确访问字符串资源?