社区
Web 开发
帖子详情
文字替换问题
zity_chow
2011-12-30 10:42:38
String str = "一二三四一二三四一二三四一二三四";
str = str.replace( "一", "零" );
如果这样,会把所有的“一”都替换成“零”。
请问怎样才能是替换前几个或者后几个“一”,或者替换第N个“一”
...全文
271
22
打赏
收藏
文字替换问题
String str = "一二三四一二三四一二三四一二三四"; str = str.replace( "一", "零" ); 如果这样,会把所有的“一”都替换成“零”。 请问怎样才能是替换前几个或者后几个“一”,或者替换第N个“一”
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
达布留西
2012-01-04
打赏
举报
回复
我觉得我们都不明白楼主什么意思,楼主你自己什么需求,自己改改吧,你的变动太大了
zity_chow
2012-01-04
打赏
举报
回复
如果替换的不是一个字,而是词组或者句子呢?[Quote=引用 19 楼 zhangguicheng12 的回复:]
那就把String 转换成数组
public static void main(String[] args) {
String shuzi="一二三四一二三四一二三四一二三四";
String[] shuzis=shuzi.split("");
String houshuzi="";//替换全部
for(int i=1;i<shuzis.length;i++){
if("一".e……
[/Quote]
张正
2012-01-02
打赏
举报
回复
public static String maths(String shuzi,int forward){
String[] shuzis=shuzi.split("");
String houshuzi="";//替换
int oneForward=0;//前面几个
if(forward!=0){
for(int i=1;i<shuzis.length;i++){
if(oneForward<forward){
if("一".equals(shuzis[i].toString())){
houshuzi+=shuzis[i].replace("一", "零");
oneForward++;
}else{
houshuzi+=shuzis[i];
}
}else{
houshuzi+=shuzis[i];
}
}
}
return houshuzi;
}
public static void main(String[] args) {
String shuzi="一二三四一二三四一二三四一二三四一二三四";
System.out.println(Test.maths(shuzi,2));//零二三四零二三四一二三四一二三四一二三四
}
向后也一样 !LZ自己发散
张正
2012-01-02
打赏
举报
回复
那就把String 转换成数组
public static void main(String[] args) {
String shuzi="一二三四一二三四一二三四一二三四";
String[] shuzis=shuzi.split("");
String houshuzi="";//替换全部
for(int i=1;i<shuzis.length;i++){
if("一".equals(shuzis[i].toString())){
houshuzi+=shuzis[i].replace("一", "零一");
}else{
houshuzi+=shuzis[i];
}
}
System.out.println(houshuzi);//零一二三四零一二三四零一二三四零一二三四
}
[Quote=引用 13 楼 zity_chow 的回复:]
引用 9 楼 licip 的回复:
String str = "一二三四一二三四一二三四一二三四";
for(int i = 0;i<3;i++){
str = str.replaceFirst( "一", "零" );
}
System.out.println("str:" + str);
这个如果我想替换的是:将“一”替换成“零一”呢
那么是不是变成“零零零一二三四一……
[/Quote]
zity_chow
2012-01-02
打赏
举报
回复
[Quote=引用 16 楼 cs123456789dn 的回复:]
我也觉得找索引然后在替换这个是一个万能的方法
[/Quote]
请问怎样找索引?
zity_chow
2012-01-02
打赏
举报
回复
[Quote=引用 15 楼 jaygo311 的回复:]
可以先检索,在替换,也可以将字符串按照所要替换的字符进行截取
[/Quote]
具体要怎样做,可以说清楚点吗?
Super_Ninja
2012-01-01
打赏
举报
回复
上面的这些写法都缺乏灵活性吧,只有在你非常清楚字符串的结构的情况下并且需要知道替换几个才行这样写还行,总觉得不好.
[Quote=引用 13 楼 zity_chow 的回复:]
引用 9 楼 licip 的回复:
String str = "一二三四一二三四一二三四一二三四";
for(int i = 0;i<3;i++){
str = str.replaceFirst( "一", "零" );
}
System.out.println("str:" + str);
这个如果我想替换的是:将“一”替换成“零一”呢
那么是不是变成“零零零一二三四一……
[/Quote]
对java有感觉
2012-01-01
打赏
举报
回复
我也觉得找索引然后在替换这个是一个万能的方法
jaygo311
2012-01-01
打赏
举报
回复
可以先检索,在替换,也可以将字符串按照所要替换的字符进行截取
zity_chow
2011-12-31
打赏
举报
回复
[Quote=引用 9 楼 licip 的回复:]
String str = "一二三四一二三四一二三四一二三四";
for(int i = 0;i<3;i++){
str = str.replaceFirst( "一", "零" );
}
System.out.println("str:" + str);
[/Quote]
这个如果我想替换的是:将“一”替换成“零一”呢
那么是不是变成“零零零一二三四一二三四一二三四一二三四”了?
arvon009
2011-12-30
打赏
举报
回复
下面是替换前几个“一”的算法,若替换后几个“一”则需反循环
public String replaceWithSpecificString(String orignal, String oldStr,
String newStr, int times) {
String replce = "";
for (int i = 0; i < orignal.length(); i++) {
if (times > 0) {
if (orignal.charAt(i) == oldStr.charAt(0)) {
boolean match = true;
for (int j = 1; j < oldStr.length(); j++) {
if (orignal.charAt(i + j) != oldStr.charAt(j)) {
match = false;
break;
}
}
if (match) {
replce += newStr;
i += (oldStr.length() - 1);
times--;
}
} else {
replce += orignal.charAt(i);
}
} else {
replce += orignal.charAt(i);
}
}
return replce;
}
这是替换第N个‘一’的算法
public String replaceWithSpecificString(String orignal, String oldStr,
String newStr, int N) {
String replce = "";
for (int i = 0; i < orignal.length(); i++) {
if (N > 0) {
if (orignal.charAt(i) == oldStr.charAt(0)) {
boolean match = true;
for (int j = 1; j < oldStr.length(); j++) {
if (orignal.charAt(i + j) != oldStr.charAt(j)) {
match = false;
break;
}
}
if (match) {
if(N == 1) {
replce += newStr;
} else {
replce += orignal.charAt(i);
}
i += (oldStr.length() - 1);
N--;
}
} else {
replce += orignal.charAt(i);
}
} else {
replce += orignal.charAt(i);
}
}
return replce;
}
zity_chow
2011-12-30
打赏
举报
回复
[Quote=引用 3 楼 huai__ye 的回复:]
采用字符串截取在替换的方式展开;
如: String str = "一二三四一二三四一二三四一二三四";
str= str.substring(0, 6).replace("一", "零")+str.substring(6, str.length());
结果:零二三四零二三四一二三四一二三四
[/Quote]
如果“一”的位置不确定呢?
孤雨
2011-12-30
打赏
举报
回复
自己随便指定个范围,然后就可以换了。应该没有现成的方法。
licip
2011-12-30
打赏
举报
回复
String str = "一二三四一二三四一二三四一二三四";
for(int i = 0;i<3;i++){
str = str.replaceFirst( "一", "零" );
}
System.out.println("str:" + str);
我嘞个去
2011-12-30
打赏
举报
回复
当然你也可以找索引 想换那个 换那个!
funfenffun
2011-12-30
打赏
举报
回复
String里面封装了一个replaceFirst()方法,替换字符串的第一个匹配,lz可以仿着这个的源码来写
应该没有什么封装好的方法,否则replaceFirst()就是鸡肋了
zysnba
2011-12-30
打赏
举报
回复
采用字符串截取在替换的方式展开;
如: String str = "一二三四一二三四一二三四一二三四";
str= str.substring(0, 6).replace("一", "零")+str.substring(6, str.length());
结果:零二三四零二三四一二三四一二三四
懒到变成虫
2011-12-30
打赏
举报
回复
这个前几个、后几个有什么规律吗?这样的需求只能自己定位进行查找替换了。
YeHuai1991
2011-12-30
打赏
举报
回复
采用字符串截取在替换的方式展开;
如: String str = "一二三四一二三四一二三四一二三四";
str= str.substring(0, 6).replace("一", "零")+str.substring(6, str.length());
结果:零二三四零二三四一二三四一二三四
zysnba
2011-12-30
打赏
举报
回复
要不就安装下标来替换
加载更多回复(1)
批量转换文件编码格式为UTF-8工具
批量转换文件编码格式为UTF-8工具.zip 支持多层文件夹
替换
! 使用说明: 1.文件根目录:即您要转码的文件所在根目录 2.转码文件目录:即您转码后的文件所在目录 3.转码文件后缀:指[文件根目录]下,需要转码的文件后缀,多个以英文逗号分隔 (例: .html,.htm,.txt) 4.
替换
字符文件后缀:指在[转码文件后缀]范围内的文件的后缀,多个以英文逗号分隔 (例: .html,.htm,.txt) 5.需
替换
的字符:指[
替换
字符文件后缀]范围内的文件内容中的字符. 6.
替换
为的字符:指[需
替换
的字符]被
替换
为当前设置的字符 ------------------------------------------- 暂不支持正则
替换
! 所有项设置完毕后,点击[开始转换]即可!
HTML字符
替换
编程
通过以上HTML和JavaScript代码,你可以实现简单的字符
替换
功能。你可以根据需要扩展代码,实现更复杂的字符
替换
逻辑,例如批量
替换
、正则表达式
替换
等。在HTML开发中,经常需要对文本内容进行字符
替换
,以改善显示效果或满足特定需求。HTML提供了实现字符
替换
的基本元素和属性,而JavaScript则可以用于处理
替换
逻辑。请注意,上述示例中的
替换
目标和
替换
内容都是用方括号括起来的,请根据实际需求修改为你想要
替换
的具体字符或文本。函数将会执行,实现字符
替换
的逻辑,并将结果显示在。上述代码中,我们首先在。
百练_2700:字符
替换
描述 把一个字符串中特定的字符全部用给定的字符
替换
,得到一个新的字符串。 输入 只有一行,由一个字符串和两个字符组成,中间用单个空格隔开。字符串是待
替换
的字符串,字符串长度小于等于30个字符,且不含空格等空白符; 接下来一个字符为需要被
替换
的特定字符; 接下来一个字符为用于
替换
的给定字符。 输出 一行,即
替换
后的字符串。 样例输入 hello-how-are-you o
使用正则表达式解决特定字符
替换
问题
:零宽断言示例
大家好!我是曾续缘🥰欢迎关注💕🔥📚正则表达式是一种用于匹配字符串的模式,也被称为文本搜索和
替换
的工具。在 Python 中,可以使用内置的re模块实现正则表达式操作。在正则表达式中,有很多语法元字符可以用来匹配特定的字符或字符集。而括号和问号这样的特殊符号则表示零宽断言,它们不会匹配任何字符,而只是表示一个位置。其中,和分别表示零宽负向断言和零宽正向断言。下面我们针对这两种断言的应用进行讲解。
python中json串特殊字符
替换
问题
在json串中发现特殊字符”\n”,使用str.replace("\n","")进行
替换
,在终端测试ok。但是脚本运行(从文件中读取json串)一直不能成功,后使用str.replace("\\n","")
替换
成功! 参考链接:https://www.jianshu.com/p/c0cce1b5469a 字符串转json 和字典的异同 相同点 都
Web 开发
81,116
社区成员
341,730
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章