import java.util.Scanner;
import java.util.regex.*;
public class io{
public static void main(String args[]){
Scanner scan = new Scanner(System.in);
String c;
if((c=scan.nextLine())!=null)
{
Pattern pt = Pattern.compile(“[^a-zA-Z0-9]”);
Matcher match= pt.matcher(c);
while(match.find()){
c=c.replace(Character.toString(c.charAt(match.start())),”“);
}
System.out.println(c);
}
}
}
情况1
Input : hjdg$h&jk8^i0ssh6
Expect : hjdghjk8i0ssh6
Output : hjdgh&jk8^issh6
情况二
Input : hjdgh&jk8i0ssh6
Expect : hjdghjk8i0ssh6
Output : hjdghjk8i0ssh6
情况3
Input : hjdgh&j&k8i0ssh6
Expect : hjdghjk8i0ssh6
Output : hjdghjki0ssh6
任何人都可以帮助我弄清楚,我的代码逻辑到底出了什么问题?
使用[\\W+]
或"[^a-zA-Z0-9]"
作为正则表达式来匹配任何特殊字符,还可以使用String.replaceAll(regex,String)将spl字符替换为空字符串。请记住,作为String.replaceAll的第一个arg是一个正则表达式,您必须使用反斜杠对其进行转义以将em视为文字字符。
String c= "hjdg$h&jk8^i0ssh6";
Pattern pt = Pattern.compile("[^a-zA-Z0-9]");
Matcher match= pt.matcher(c);
while(match.find())
{
String s= match.group();
c=c.replaceAll("\\"+s, "");
}
System.out.println(c);
问题内容: 我面临网址问题,我希望能够转换标题,该标题可以包含任何内容,并去除所有特殊字符,因此它们仅包含字母和数字,当然我想用连字符替换空格。 怎么做?我听说过很多关于正则表达式(regex)的使用… 问题答案: 这应该可以满足您的需求: 用法: 将输出: 编辑: 嘿,只是一个简单的问题,如何防止多个连字符彼此相邻?并将它们替换为1?
问题内容: 我想要一个RegExp,它将从字符串中删除所有特殊字符。我正在尝试类似的方法,但是它在IE7中不起作用,尽管它在Firefox中有效。 RegExp的详细说明也将有所帮助。 问题答案: 正如评论中提到的,将其作为白名单更容易-替换安全列表 中不 存在的字符。 脱字号()表示集合的取反,表示全局且不区分大小写(后者有点多余,但我想提一下),本例中的安全列表是数字,单词字符,下划线()和空
如何从R中的字符串中删除所有特殊字符并用空格替换它们? 要删除的一些特殊字符是:
问题内容: 我正在编写一个bash脚本,需要分析文件名。 它将需要删除所有特殊字符(包括空格): “!?.-_ ,并将所有大写字母更改为小写字母。类似于: 至: 我已经看到许多问题可以使用许多不同的编程语言来实现,而不能使用bash来实现。有什么好方法吗? 问题答案: 第一个删除特殊字符。表示删除,表示补码(反转字符集)。因此,意味着删除除指定字符外的所有字符。在与包括保持Linux或Window
问题内容: 我需要从字符串中删除所有特殊字符,标点符号和空格,以便只有字母和数字。 问题答案: 这可以不用正则表达式来完成: 您可以使用: 如果您坚持使用正则表达式,则其他解决方案也可以。但是请注意,如果可以在不使用正则表达式的情况下完成此操作,那么这是最好的解决方法。
问题内容: 我想使用JavaScript从字符串中删除除空格以外的所有特殊字符。 例如, 应输出为 。 问题答案: 您应该使用带有单个正则表达式的字符串替换功能。假设使用特殊字符,您的意思不是字母,这是一种解决方案: