【发布时间】:2015-09-29 21:36:11
【问题描述】:
我正在寻找一个正则表达式来删除不需要的字符串末尾的字符,但可能会出现在字符串的前面(这是预期的并且很好)。
这是一个应该解析为“CARVER HOUSE - KITCHEN”的示例
CARVER HOUSE - KITCHEN(
CARVER HOUSE - KITCHEN[
CARVER HOUSE - KITCHEN - (
CARVER HOUSE - KITCHEN :
这是另一个应该解析为“CARVER HOUSE : (NIGHT)[N1] - KITCHEN”的示例
CARVER HOUSE : (NIGHT)[N1] - KITCHEN(
CARVER HOUSE : (NIGHT)[N1] - KITCHEN[
CARVER HOUSE : (NIGHT)[N1] - KITCHEN - (
CARVER HOUSE : (NIGHT)[N1] - KITCHEN :
所以基本上,应该找到最后一个字母或数字,而其他所有内容都被删除。
另外,我不是在寻找一个大而杂乱的方法,逐个字符地查找最后一个字母数字。这应该真的可以在一两行代码中完成。
谢谢
【问题讨论】:
-
你试过了吗?
-
尝试过类似
"\W+$"的“字符串末尾的非单词字符”? -
@Reimeus 我尝试了一些东西,但它们并不漂亮(一点也不)。我正在考虑反转字符串以查看是否效果更好,然后将其反转回来,但这似乎也很混乱。
-
"[^0-9a-zA-Z]*$"将定位尾随字符串。然后,您可以获取所需部分的子字符串,也可以删除尾随部分。您使用什么语言? -
@tobias_k 谢谢!效果很好。