字符串指定间隔长度插入指定字符串

最近碰到一个这样的需求,字符串指定间隔长度插入指定字符串,大概描述一下

有一字符串 “abcde12345fghig67890” ,我想指定间隔长度为5(这个是字符串长度能够被5整除),插入“/”字符串(字符串不限制长度)。

最后返回结果“abcde/12345/fghig/67890” .

下面是我实现此功能代码,贴出来与大家讨论,我觉得写法太繁琐,看大家有没有更好实现方法。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleStringSplitPlusSpecialChar
{
    class Program
    {
        static void Main(string[] args)
        {
            var  originalValue = "abcde12345fghig67890";
            var splitLength = 5;
            var splitSpecialString = "/";
            var targetValue = SplitStringPlusSpecialString(originalValue, splitLength, splitSpecialString);
            Console.Write(targetValue);
            Console.Read();
        }

        public static string SplitStringPlusSpecialString(string originalValue, int splitLength, string splitSpecialString)
        {
            var originalLength = originalValue.Length;
            var splitCount = originalLength / splitLength;
            var targetValue = originalValue;
            var splitSpecialStringLength = splitSpecialString.Length;
            for (var i = 0; i < splitCount; i++)
            {
                targetValue = targetValue.Insert((i + 1) * splitLength + (i * splitSpecialStringLength), splitSpecialString);
            }
            return targetValue.TrimEnd(splitSpecialString.ToCharArray());
        }

    }
}

源代码下载: http://files.cnblogs.com/files/davidzhou/DemoSolution.zip

时间: 2024-08-05 19:33:04

字符串指定间隔长度插入指定字符串的相关文章

计算 num 的 n 次幂、n 的阶乘、斐波那契数列、字符串的字节长度、去除字符串中的重复字符

1 //计算 num 的 n 次幂 2 function numPow(num, n) { 3 if (n == 1) { 4 return num; 5 } 6 return num * numPow(num, n - 1); 7 } 8 9 //计算 n 的阶乘 10 function nFactorial(n) { 11 if (n == 1) { 12 return 1; 13 } 14 return n * nFactorial(n - 1); 15 } 16 17 //斐波那契数列,

获取字符串中指定位置开始的指定长度的字符串,支持汉字英文混合 汉字为2字节计数

#region 函数:GetSubString() 作用:获取字符串中指定位置开始的指定长度的字符串,支持汉字英文混合 汉字为2字节计数 /// <summary> /// 获取字符串中指定位置开始的指定长度的字符串,支持汉字英文混合 汉字为2字节计数 /// </summary> /// <param name="strSub">输入中英混合字符串</param> /// <param name="start"

java格式化字符串,在指定位置插入指定字符串,兼容中英文以及特殊字符,例如:换行,用于解决生成pdf换行问题等问题

原因: 由于html转pdf时,不能自动换行,因此才有下面的代码. 注释:完全模拟html页面的自动换行! package test; import java.io.UnsupportedEncodingException; /** * 解决pdf换行问题,在指定位置插入指定字符串,兼容中英文以及特殊字符 * * @author xg君 * */ public class app { public static void main(String[] args) throws Unsupporte

c# 用正则表达式在指定的字符串中每隔指定个数的文字插入指定字符串

public static string AddNewLine(string inString,int num,string addString="\r\n") { return Regex.Replace(inString, string.Format(@".{{{0}}}", num), "$0"+addString); } c# 用正则表达式在指定的字符串中每隔指定个数的文字插入指定字符串

.NET(C#)生成指定长度的随机字符串的通用方法

.NET(C#)生成指定长度的随机字符串的通用方法,此方法可以指定字符串的长度,是否包含数字,是否包含符号,是否包含小写字母,是否包含大写字母等, 源码: 1 #region 生成指定长度的随机字符串 2 /// <summary> 3 /// 生成指定长度的随机字符串 4 /// </summary> 5 /// <param name="intLength">随机字符串长度</param> 6 /// <param name=&

C# 按指定(字节)长度截取字符串

/// <summary> /// 按指定(字节)长度截取字符串 /// </summary> /// <param name="str">源字符串</param> /// <returns>string</returns> private string CutStringByte(string str) { if (string.IsNullOrEmpty(str)) { return "";

银行卡号,指定字符长度分割字符串

每隔指定字符长度分割字符串,可以制作银行卡号格式化提示功能.利用正则替换实现.js代码如下; <script type="text/javascript"> console.log( "548481554521515454848798921258740".replace(/(\d{4})(?=\d)/g,"$1"+"-") ) </script>

python中生成一个指定长度的随机字符串实现示例

方法一:定义一个函数,参数为所要生成随机字符串的长度.通过random.randint(a, b)方法得到随机数字,具体函数如下: def generate_random_str(randomlength=16): """ 生成一个指定长度的随机字符串 """ random_str = '' base_str = 'ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789' le

SQL Server中自定义函数:用指定的分隔符号分割字符串

2014-11-13 微软SQL Server数据库中包含了很多内置的函数,入下图: 它们用于处理日期.数学.元数据.字符串等. 其中最为常用的就是处理字符串,里面包含了CharIndex()等函数,非常方便使用. 但是对于 特殊字符串的处理,比如:ISBN号 '978-7-5007-7234-7',如果想获取第三个与第四个分割符号之间的数字, 那么SQL 内置函数无法直接做到.这时就需要自定义函数.下面自定义三个函数,用于处理特殊的字符串. 一.按指定符号分割字符串,返回分割后的元素个数 1