对于几个示例字符串,如果括号中包含禁用字,我想剥去字符串的结尾。
示例字符串列表:
Test House (selled)
Seahouse (selled)
Motorbike (unconfirmed)
Bike (very good)
我列出了禁词:' selled'和未经证实的'
目前,我有一个javascript函数会返回此列表:
Test House
Seahouse
Motorbike
Bike (very good)
该函数只使用带有两个捕获组的简单正则表达式:
( \(([a-z0-9\- ]+)\))$
...如果组2等于禁止的单词,则我从字符串中删除组1。
我想知道是否有更简洁的方法来使用正则表达式?
答案 0 :(得分:1)
我认为你的这种方式比它需要的更难。
/*Mixins*/
=font-size($px){
font-size: calc($px/13)em;
}
=transition{
-webkit-transition: all 300ms ease-in-out;
-o-transition: all 300ms ease-in-out;
transition: all 300ms ease-in-out;
}
=border-radius($radius) {
-webkit-border-radius: $radius;
-moz-border-radius: $radius;
border-radius: $radius;
}
=text-clamp($line) {
word-break: break-word;
word-wrap: break-word;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
line-height: normal;
-webkit-line-clamp: $line;
line-height: 18px;
height: calc(18*$line)px;
}
/* CSS */
.blog_options{
display: block;
position: absolute;
width: 170px;
right: 0;
border: 1px solid $theme_border_color;
background: #FFF;
display: none;
box-shadow: 0px 0px 21px -5px #ccc;
&.blog_options_show{
display: block;
}
& > a{
padding: 10px 15px;
display: block;
+font-size(13);
border-bottom: 1px solid $theme_border_color;
color: $theme_font_color !important;
&:hover{
background: $theme_link_color_hover;
color: #FFF !important;
}
i.fa{
+font-size(14);
margin-right: 5px;
}
&:last-of-type{
border-bottom: 0;
}
&.icon_blog_delete{
color: #c31919 !important;
background: #f6f6f6 !important;
i.fa{
color: #c31919;
}
}
}
}
var d = $("div"),
str = d.html();
str = str.replace(/ \((selled|unconfirmed)\)/g, "");
d.html(str);