[英]Remove every special character except hyphen
我有两个字符串,例如“Stack Overflow”和“Stack-Overflow”。 现在我正在研究一个String匹配方法,我需要格式化一些字符串。
除连字符外,每个特殊字符都应该是String的结尾。 因此“Stack Overflow”将成为“Stack”,“Stack-Overflow”将保持不变。
我已经使用过str.split(" ", 1)[0];
, str.replaceAll("\\\\s", "")
和str.replaceAll("[^a-zA-Z0-9]", "");
但它不与连字符配合。
我应该使用什么替代方法?
使用[^\\\\w-]+
正则表达式
String str = "Stack-Overflow";
String str2 = str.split("[^\\w-]+")[0];
System.out.println(str2);
用于: Stack-Overflow
输出Stack-Overflow
用于: Stack Overflow
输出Stack
.split("\\\\W")[0]
似乎正在运作。
这个
System.out.println("Hello-World".split("\\W")[0]);
只需从这里打印“你好”,然后
System.out.println("Hello World".split("\\W")[0]);
做同样的事情
System.out.println("Hello123123orld".split("\\W")[0]);
正如您所料,打印“Hello123123orld”。
这是使用正则表达式在C#中执行此操作的方法
string regex = "[^a-zA-Z0-9-]";
var s3 = Regex.Split(inputString, regex)[0];
您也可以在Java中实现类似类型的代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.