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();
}
}

 

时间: 2024-09-23 02:23:37

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

Java中replace、replaceAll和replaceFirst函数的用法小结_java

首先概述一下他们三个的用法: · replace(CharSequence target, CharSequence replacement) ,用replacement替换所有的target,两个参数都是字符串. · replaceAll(String regex, String replacement) ,用replacement替换所有的regex匹配项,regex很明显是个正则表达式,replacement是字符串. · replaceFirst(String regex, String

Java中replaceFirst(&amp;amp;quot;.&amp;amp;quot;, &amp;amp;quot;&amp;amp;quot;)替换了字符串的第一个字符,算是Bug么,还有有什么原因

问题描述 测试代码,很简单,如下:System.out.println("1,234,567.89".replace(".", ""));System.out.println("1,234,567.89".replaceFirst(".", ""));System.out.println("1,234,567.89".replace(",", &q

java jodd框架介绍及使用示例

Jodd是一个普通开源Java包.你可以把Jodd想象成Java的"瑞士军刀",不仅小,锋利而且包含许多便利的功能.Jodd 提供的功能有: 提供操作Java bean, 可以从各种数据源加载Bean, 简化JDBC的接连与代码, 剖析SQL查询, 处理时间与日期, 操作与格式化String, 搜索本地硬盘上的文件, 帮助处理Servlet请求等.除此之外还包含一个很小,但实用的基于JSP的MVC框架.   jodd使用示例: JODD中的时间操作类 jodd时间操作 1 import

java中List按照指定字段排序工具类

文章标题:java中List按照指定字段排序工具类. 文章地址: http://blog.csdn.net/5iasp/article/details/17717179   包括如下几个类   1. 实体类   package com.newyear.wish; /** * 实体类 * */ public class Video { public Video(int id, String title, int hits) { super(); this.id = id; this.title =

类 String详细用法小结

所有已实现的接口: Serializable, CharSequence, Comparable<String> public final class String extends Objectimplements Serializable, Comparable<String>, CharSequence String 类代表字符串.Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. 字符串是常量:它们的值在创建之后不能更改.字符串缓

StringHelper

package com.helper; import java.util.StringTokenizer; /** * <p>标题: weboa办公系统</p> * <p>描述: 关于字符串处理的辅助类</p> */public class StringHelper{   /**    *将空字符串转换为""    * @param 原始字符串    * @return 返回转换后的字符串    */   public static fi

java正则表达式; regular expression

express|正则 概要 文本处理经常涉及的根据一个pattern的匹配.尽管java的character和assorted 的String类提供了low-level的pattern-matching支持,这种支持一般带来了复杂的代码.为了帮助你书写简单的pattern-matching代码,java提供了regular expression.在介绍给你术语和java.util.regex包之后,Jeff Friesen explores 了许多那个包的Pattern类支持的正则表达式结构.然

用java写一个main函数,打印出1-6这这六个数字的所有不同的排列

1.2.2.3.4.5这六个数字,用java写一个main函数,打印出所有不同的排列, 如:512234.412345等.要求:"4"不能在第三位,"3"与"5"不能相连. package com.test; import java.util.ArrayList; import java.util.List; /** * 1.2.2.3.4.5这六个数字,用java写一个main函数,打印出所有不同的排列, 如:512234.412345等.要求

UVa 748/POJ 1001 Exponentiation:浮点高精度求幂&amp;amp;正则表达式的应用

748 - Exponentiation Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=97&page=show_problem&problem=689 http://poj.org/problem?id=1001 Problems involving the computation of exact values