读书人

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

发布时间: 2012-01-19 00:22:28 作者: rapoo

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);                    }} 

读书人网 >Java相关

热点推荐