我正在编写代码来替换某些表达式,如下所示
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
str=str.replaceAll("http\\S+", "URL "); //used answer given
System.out.println(str);
我正在提供意见
iCloud 通过 @cnet 达到 2000 万用户 http://www.google.com/HTpUTBFK
并且想要输出
英文网址英文@cnet
但是我得到
iCloud 拥有 2000 万用户 URL @cnet
。
之后我想修改为
ENGLISH URL @cnet
修改将句子中不跟随特殊字符(如#、%、@等)的所有部分更改为英语。
最佳答案
如果您想要替换网址,则正则表达式可以更简单:
http\\S+
仅此而已!
它扫描http
,然后扫描它能找到的所有非空格。它停在第一个空格处。
为了安全起见并避免出现某些以 http 开头的单词,您可以使正则表达式更长一些,更安全:
'http://\\S+'
关于java 表达式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39115495/