首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

java 找子字符串,该怎么处理

2012-01-19 
java 找子字符串String first#listen_addresses localhost# what IP address(es) to listen onStr

java 找子字符串
String first="#listen_addresses = 'localhost'# what IP address(es) to listen on";
String second= "listen_addresses = '*'";
注:first中间的空白是制表符:

问题:怎么实现将first中的#listen_addresses = 'localhost'(#listen_addresses = 'localhost'可能在first中的任何位置)替换成second的字符串

[解决办法]
(#listen_addresses = 'localhost'可能在first中的任何位置) 
这句话是啥意思?

你贴几个可能的位置的例子上来
[解决办法]
你是不是想替换 单引号里边的内容 为 * 呀? 
如果是,下面第一行那个符号‘#’是怎么回事 ,下面的第二行第三行都只有一个单引号,这又么回事 


first="#listen_addresses = 'localhost' # what IP address(es) to listen on";
first=“h listen_addresses = 'localhost hkafdnfkldahdanfdbjka” n=2
first=“hhk listen_addresses = 'localhost afdnfkldahdanfdbjka” n=4


无论是不是 你把上面三行的 替换后的结果 写出来



[解决办法]
制表符就是"\t"
for example

Java code
String first="#listen_addresses = 'localhost' # what IP address(es) to listen on";String second= "listen_addresses = '*'";String third = first.replace("#listen_addresses\t=\t'localhost'", second);System.out.println(third);
[解决办法]
探讨
first="#listen_addresses = 'localhost' # what IP address(es) to listen on";
替换后的结果是
first="listen_addresses = '*' # what IP address(es) to listen on";



是先在将first中找到"#listen_addresses = 'localh……

[解决办法]
Java code
public class Test {    public static void main(String[] args) {        String first="#listen_addresses = 'localhost' # what IP address(es) to listen on";    String second= "listen_addresses = '*'";    String result = first.replace("#listen_addresses = 'localhost'", second);    System.out.println(result);            //根据我的测试,中间的空白符不是制表符     //但是上面的方法直接些\\s 又不行,所以写下面的方法,应该能满足你了    String regex = "#listen_addresses\\s=\\s'localhost'";         Matcher matcher = Pattern.compile(regex).matcher(first);//    result =  matcher.replaceAll(second);    System.out.println(result);                    }} 

热点排行