Java 将”:“字符每隔两位插入到字符串中
时间: 2023-08-16 07:03:20 浏览: 125
可以使用 StringBuilder 和 for 循环来实现将":"字符每隔两位插入到字符串中的需求,示例如下:
```java
String str = "123456789";
StringBuilder sb = new StringBuilder(str);
for (int i = 2; i < sb.length(); i += 3) {
sb.insert(i, ":");
}
System.out.println(sb.toString()); // 输出字符串 "12:34:56:78:9"
```
上述代码中,首先将原始字符串转换为 StringBuilder 对象。然后使用 for 循环遍历 StringBuilder 对象中每隔两位需要插入":"字符的位置,并在这些位置上插入":"字符。最后将 StringBuilder 对象转换回字符串并输出。
相关问题
一个字符串每隔两位插入一个*
可以使用 Python 的字符串切片和字符串拼接来实现这个功能,代码如下:
```
s = "1234567890"
result = "*".join([s[i:i+2] for i in range(0, len(s), 2)])
print(result)
```
输出结果为:
```
12*34*56*78*90
```
这个代码的思路是先使用列表推导式将原字符串每两个字符分组,然后使用字符串的 join 方法将分组后的字符串列表用 * 连接起来。
一个字符串每隔两位插入一个*用c语言写
### 回答1:
以下是一个用 C 语言实现的每隔两位插入 * 的函数:
```c
#include <stdio.h>
#include <string.h>
void insert_star(char *str) {
int len = strlen(str);
int i;
for (i = 2; i < len; i += 3) {
memmove(str + i + 1, str + i, len - i);
str[i] = '*';
len++;
}
}
int main() {
char str[] = "1234567890";
insert_star(str);
printf("%s\n", str);
return 0;
}
```
这个函数的思路是,从第三个字符开始,每隔两个字符插入一个 *,并且将后面的字符都往后移动一位。需要注意的是,每插入一个 *,字符串的长度会增加一位,因此需要在循环中更新字符串的长度。
### 回答2:
可以使用C语言编写一个函数,接受一个字符串作为参数,在每隔两位插入一个*,然后返回新的字符串。
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* insertStar(const char* str) {
int len = strlen(str);
char* newStr = (char*)malloc(sizeof(char) * (len*2 + 1)); // 分配足够的空间存储新字符串(每隔两位插入1个*)
int index = 0;
for (int i = 0; i < len; ++i) {
newStr[index++] = str[i]; // 拷贝原字符串的字符
if (i % 2 == 1 && i != len - 1) {
newStr[index++] = '*'; // 每隔两位插入一个*
}
}
newStr[index] = '\0'; // 添加字符串结束符
return newStr;
}
int main() {
char str[] = "abcdefghi";
char* newStr = insertStar(str);
printf("%s\n", newStr);
free(newStr); // 记得释放内存
return 0;
}
```
输出结果为:"ab*c*de*f*gh*i"。
### 回答3:
```c
#include <stdio.h>
void insertStar(char* str) {
char newStr[600]; // 创建一个新的字符串,用于存放原字符串和插入的*
int i, j;
for (i = 0, j = 0; str[i] != '\0'; i++, j++) {
newStr[j] = str[i]; // 将原字符串的字符复制到新的字符串中
if (i % 2 == 1) {
j++; // 跳过插入的位置,j的值+1
newStr[j] = '*'; // 在新字符串的插入位置插入*
}
}
newStr[j] = '\0'; // 在新字符串的末尾加入字符串结束符
printf("插入*后的字符串为:%s\n", newStr);
}
int main() {
char str[300]; // 声明一个字符串,用于存放输入的数据
printf("请输入待插入*的字符串:");
scanf("%s", str); // 从控制台获取输入的字符串
insertStar(str); // 调用函数插入*
return 0;
}
```
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)