往某字符串中每隔几个位置插入一个字符

往某字符串中每隔几个位置插入一个字符

/**
	 * 往某字符串中每隔几个位置插入一个字符
	 * @param ors 源字符串
	 * @param ins 需要插入的字符
	 * @param count	每隔多少个位置
	 * @return 处理后的字符串
	 */
	public static String insertString(String ors,String ins,int count) {
		
		StringBuilder sb = new StringBuilder(ors);	//将String转为StringBuilder
		int times = (ors.length()+count-1)/count - 1;			//计算出有多少个位置需要插入
		for(int i=times;i >=1 ;i--) {				
			sb.insert(i*count, ins);				//需要从字符串的末尾开始插入,如果从前面插入,还需要计算后面的位置
		}
		return sb.toString();
	}
public static String inss(String ors,char ins,int count) {
		String regex = "(.{"+count+"})";
		ors = ors.replaceAll(regex, "$1"+ins);
		ors = ors.charAt(ors.length()-1)==ins ? ors.substring(0,ors.length()-1) : ors;
		return ors;
	}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个实现千分位分的函数: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> char* thousandSeparator(int n) { char *num_str = malloc(sizeof(char) * 21); // 最大的整数范围是2^64,长度为20位,再加上字符串结束符'\0' sprintf(num_str, "%d", n); // 将整数转换为字符串 int len = strlen(num_str); if (len <= 3) { // 如果整数位数小于等于3,则不需要分 return num_str; } int dot_count = (len - 1) / 3; // 计算需要插入几个逗号 int new_len = len + dot_count; // 计算新字符串的长度 char *new_str = malloc(sizeof(char) * (new_len + 1)); // 为新字符串分配空间 int j = 0; for (int i = 0; i < len; i++) { if (i > 0 && (len - i) % 3 == 0) { // 每三位插入一个逗号 new_str[j++] = ','; } new_str[j++] = num_str[i]; // 将原字符串字符复制到新字符串 } new_str[new_len] = '\0'; // 在新字符串的末尾添加字符串结束符 free(num_str); // 释放原字符串的内存空间 return new_str; // 返回新字符串 } int main() { int n; printf("请输入一个整数:"); scanf("%d", &n); char *num_str = thousandSeparator(n); // 调用千分位分函数 printf("千分位分后的结果为:%s\n", num_str); free(num_str); // 释放新字符串的内存空间 return 0; } ``` 这个函数使用 sprintf 将整数转换为字符串,然后计算需要插入几个逗号,再创建一个新的字符串,将原字符串字符复制到新字符串,并在每三位插入一个逗号。最后返回新字符串。在主函数,我们可以通过调用这个函数来将任意输入的整数转换为千分位分字符形式并输出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值