C#实现的ReplaceFirst和ReplaceLast

原文:C#实现的ReplaceFirst和ReplaceLast

ReplaceFirst:

public static string ReplaceFirst(string input, string oldValue, string newValue)
{
Regex regEx = new Regex(oldValue, RegexOptions.Multiline);
return regEx.Replace(input, newValue==null?"":newValue, 1);

}

注意:如果替换的旧值中有特殊符号,替换将会失败,解决办法 例如特殊符号是“(”: 要在调用本方法前加oldValue=oldValue.Replace("(","//(");

ReplaceLast:

public static string ReplaceLast(string input, string oldValue, string newValue)
{
int index = input.LastIndexOf(oldValue);
if (index < 0)
{
return input;
}
else
{
StringBuilder sb = new StringBuilder(input.Length - oldValue.Length + newValue.Length);
sb.Append(input.Substring(0, index));
sb.Append(newValue);
sb.Append(input.Substring(index + oldValue.Length,
input.Length - index - oldValue.Length));

return sb.ToString();
}
}

时间: 2025-01-04 16:57:25

C#实现的ReplaceFirst和ReplaceLast的相关文章

C# String的扩展方法ReplaceFirst

/// <summary> /// 替换第一个符合条件的字符串 /// </summary> /// <param name="value"></param> /// <param name="oldValue">所要替换掉的值</param> /// <param name="newValue">所要替换的值</param> /// <retu

java字符串的替换replace、replaceAll、replaceFirst的区别详解

如果不是刚刚复习了下正则表达式,我可能也不会注意到,原来String的replaceAll跟replaceFirst用到了正则表达式! 不多解释,看代码: 1 2 3 4 String s = "my.test.txt"; System.out.println(s.replace(".", "#")); System.out.println(s.replaceAll(".", "#")); System.o

replace()、replaceFirst()和replaceAll()的区别

1.replace() String str= "mesquite in your cellar" str.replace('e', 'o') returns "mosquito in your collar" 由此可知replace是全替换的. 建议:单引号全部改为双引号,避免编译出错,有时可能操作多字符. 2.replaceFirst().replaceAll() (1)用法与replace相同,但是后面两者基于规则表达式的替换: (2)replaceFirst

Java字符串替换函数replace、replaceFirst、replaceAll

一.replace(String old,String new) 功能:将字符串中的所有old子字符串替换成new字符串 示例 String s="Hollow world!"; System.out.println(s); System.out.println(s.replace("o", "#")); /* * 结果:Hollow world! * H#ll#w w#rld! */ 二.replaceAll(String arg0, Stri

java字符串的替换replace、replaceAll、replaceFirst的区别

如果不是刚刚复习了下正则表达式,我可能也不会注意到,原来String的replaceAll跟replaceFirst用到了正则表达式! 不多解释,看代码: String s = "my.test.txt"; System.out.println(s.replace(".", "#")); System.out.println(s.replaceAll(".", "#")); System.out.print

【JAVA】replace,replaceAll,replaceFirst

replace和replaceAll: 1.相同点: 替换所有匹配的字符串(都是替换所有) 2.不同点: replace支持字符替换,字符串替换 replaceAll是正则表达式替换 replaceFirst: 同replaceAll一样,也是基于规则表达式的替换 不同之处是:只替换第一次出现的字符串 对于正则表达式: 如果replaceAll()和replaceFirst()所用的参数据不是基于规则表达式的,则与replace()替换字符串的效果是一样的 即:这两者也支持字符串的操作,但是!!

solr分布式索引【实战一、分片配置读取:工具类configUtil.java,读取配置代码片段,配置实例】

1 private static Properties prop = new Properties(); 2 3 private static String confFilePath = "conf" + File.separator + "config.properties";// 配置文件目录 4 static { 5 // 加载properties 6 InputStream is = null; 7 InputStreamReader isr = null;

js中字符串的替换

定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法 stringObject.replace(regexp/substr,replacement)参数 描述 regexp/substr 必需.规定子字符串或要替换的模式的 RegExp 对象. 请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象. replacement 必需.一个字符串值.规定了替换文本或生成替换文本的函数. 返

《Java编程思想》第十三章 字符串

<Java编程思想>读书笔记 1.String作为方法的参数时,会复制一份引用,而该引用所指的对象其实一直待在单一的物理位置,从未动过. 2.显式地创建StringBuilder允许预先为他指定大小.如果知道字符串多长,可以预先指定StringBuilder的大小避免多次重新分配的冲突. 1 /** 2 * @author zlz099: 3 * @version 创建时间:2017年9月1日 下午4:03:59 4 */ 5 public class UsingStringBuilder {