总结:

  1. 语法层面上:这里主要用到Java字符串的替换函数,str.replaceAll("待替换的","替换成的")。replaceAll接受的是正则花的regex
  2. 还要注意替换不影响原来的字符串,只有左边付给原来的字符串时,才达到彻底替换的结果。你也可以定义一个新的字符串去保存替换后的结果;
  3. 对于这种指定格式的输入,只要考虑按照标准输入就行了,而且按照这种标准输入的话,还要对相关字符串进行提取,比如用正则化提取的“->”;
  4. 定义字符串数组:  

    (1)静态的方法:   

    String tmp[]=new String[2]; 
    (2)动态的方法: ArrayList<String> strArray = new ArrayList<String> (); 比较灵活 或者Vector<String> vec=new Vector<String>;
  5. 最后算法上没有什么值得深究的地方;

题目要求:输入一个字符串,然后在输入一个整数,就是替换字符串的次数,然后依次输入需要替换的字符串……

例如:

输入:asdfghjasdfghj

3

as->bnm

df->qwe

gh->yui

输出:bnmqweyuijbnmqweyuij

意思就是,将输入的字符串中,as替换成bnm,df替换成qwe,gh替换成yui,总共替换三次,注意次数是不限定的,可以是任意整数等。

如果输入的次数是2,举例说明:

输入:asdfgasdfg

2

as->bn

df->yuio

输出:bnyuiogbnyuiog

电脑测试版本:

import java.util.*;
public class StringReplace {
public static void main(String[] args){
System.out.println("请输入字符串:");
Scanner strOr=new Scanner(System.in);
String strIn = strOr.nextLine(); System.out.println("请输入要替换的个数:");
Scanner intOr=new Scanner(System.in);
int count= intOr.nextInt(); String tmp[]=new String[2]; //分隔
String str[]=new String[count]; //保存
for(int i=0;i<count;i++){
Scanner strOr2=new Scanner(System.in);
str[i]=strOr2.nextLine();
} for(int j=0;j<count;j++){
tmp=str[j].split("->"); //分隔存放到tmp中,这里是假设知道分隔后的长度
strIn=strIn.replaceAll(tmp[0], tmp[1]);
}
System.out.println(strIn);
} }

提交版本:

import java.util.*;
public class StringReplace {
public static void main(String[] args){
// System.out.println("请输入字符串:");
Scanner strOr=new Scanner(System.in);
String strIn = strOr.nextLine(); // System.out.println("请输入要替换的个数:");
Scanner intOr=new Scanner(System.in);
int count= intOr.nextInt(); String tmp[]=new String[2]; //分隔
String str[]=new String[count]; //保存
for(int i=0;i<count;i++){
Scanner strOr2=new Scanner(System.in);
str[i]=strOr2.nextLine();
} for(int j=0;j<count;j++){
tmp=str[j].split("->"); //分隔存放到tmp中,这里是假设知道分隔后的长度
strIn=strIn.replaceAll(tmp[0], tmp[1]);
}
System.out.println(strIn);
} }

HW—指定字符替换Java(replace)---动态和静态定义字符串数组;的更多相关文章

  1. url 中非法字符替换,java 正则替换

    url在传输时不允许的一些字符串,参考自:http://www.ietf.org/rfc/rfc1738.txt 以下字符用java正则替换为"_",一句话搞定: "{& ...

  2. java中如何将字符串数组转换成字符串(转)

    如果是 “字符串数组” 转 “字符串”,只能通过循环,没有其它方法 String[] str = {"abc", "bcd", "def"} ...

  3. Excel中将字符串中从右起第n个指定字符替换的方法

    比如你想把www.baidu.com.cn中的倒数第二个”.”替换成@,则可以用: =SUBSTITUTE(A1,".","@",LEN(A1)-LEN(SUB ...

  4. java中排序一个字符串数组

    package test_set_map; import java.util.Arrays; import java.util.Collections; public class Test_Colle ...

  5. Java中如何将字符串数组转换成字符串

    如果将“字符串数组”转换成“字符串”,只能通过循环,没有其他方法: public static String getExecSqlString(String str){ StringBuffer sb ...

  6. java截取2个指定字符之间的字符串

    /** * 截取字符串str中指定字符 strStart.strEnd之间的字符串 * * @param string * @param str1 * @param str2 * @return */ ...

  7. oracle去掉字符串中所有指定字符

    Select Replace(字段名,'指定字符','替换字符') From 表名 --例: select replace('de.5d','.','') from dual --显示结果:de5d ...

  8. url删除指定字符

    var str = "http://www.xxx.com/?pn=0"; // 删除指定字符 pn=0 // 我将这个字符串里所可能想到的各种情况都列举出来 var a = [ ...

  9. 【原】Java学习笔记023 - 字符串缓冲区_正则表达式

    package cn.temptation; import java.util.Arrays; public class Sample01 { public static void main(Stri ...

随机推荐

  1. nyoj 975 关于521

    关于521 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 Acm队的流年对数学的研究不是很透彻,但是固执的他还是想一头扎进去. 浏览网页的流年忽然看到了网上有人用玫 ...

  2. [OC Foundation框架 - 15] NSDate

    日期处理类 定义 时间间隔计算 时间比较,返回其一 时间格式化 void dateCreate() { //date return current time NSDate *date = [NSDat ...

  3. IE6完美解决fixed方法

    ie6对position:fixed不支持,网上有很多解决方法,有的在ie6,ie7上调试成功后,在ie8上又不好使,div层还是跟随滚动条浮 动:以下总结方法,在ie6,ie7,ie8上都调试成功, ...

  4. Linux web工程部署远程必备软件安装

    一.序 最近在将程序往linux上面部署,特此记录下部署步骤,待以后参考. web工程部署必备软件为:JDK.tomcat.数据库软件(oracle或mysql),远程监控.上传下载必备软件:VNC. ...

  5. [威客任务]¥800.00 JS实现网站联动三级选项

    任务地址:http://task.zhubajie.com/3275832/ 具体要求: 要求1) 选单样式参照附件2) 点击第一个选项内容后,跳出第二个选项栏位,并自动更新选项内容3) 点击第二个选 ...

  6. 让Visual Studio 2015 支持ASP.NET MVC4.0.0.1

    近日装上了Visual Studio 2015 ,打开之前vs2013创建的MVC4的项目发现无法编译通过,提示System.Web.MVC,System.Web.WebPages 等找不到,网上搜索 ...

  7. ASP.NET购物车实现方法

    1.可以参考PetShop中的购物车实现方法 2.[经典示例分享]— 商城购物车设计(VS+Access)附源码 http://www.cnblogs.com/wenyang-rio/archive/ ...

  8. Oracle用户及角色的权限管理[Oracle基础]

    1.查看全部用户:   select * from dba_users;   select * from all_users;   select * from user_users; 2.查看用户或角 ...

  9. Oracle DB 执行表空间时间点恢复

    • 列出在执行表空间时间点恢复(TSPITR) 时会发生的操作 • 阐释TSPITR 使用的术语的定义 • 确定适合将TSPITR 用作解决方案的情况 • 确定时间点恢复的正确目标时间 • 确定不能使 ...

  10. iOS开发——数据持久化Swift篇&iCloud云存储

    iCloud云存储 import UIKit class ViewController: UIViewController { override func viewDidLoad() { super. ...