- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个看起来像 http://mysite.com/#id/Blah-blah-blah
的 URL,它用于 Ajax-ey 位。我想使用 substring()
或 substr()
来获取 id
部分。 ID
可以是任意长度的字母和数字的任意组合。
到目前为止我有:
var hash = window.location.hash;
alert(hash.substring(1)); // remove #
它删除了前面的哈希,但我不是 JS 编码器,我有点挣扎。我怎样才能删除除 id
部分以外的所有内容?我也不想在最后的斜线之后包括最后的斜线 (/Blah-blah-blah
)。
谢谢!
jack
最佳答案
现在,这是正则表达式有意义的情况。由于字符串的长度可变,因此在此处使用子字符串将不起作用。
此代码将假定 id 部分不包含任何斜杠。
var hash = "#asdfasdfid/Blah-blah-blah";
hash.match(/#(.+?)\//)[1]; // asdfasdfid
.
将匹配任何字符和 +
一个或多个字符?
使匹配成为非贪婪匹配,这样它将在字符串中第一次出现 /
时停止如果 id 部分可以包含额外的斜杠并且最后的斜杠是分隔符,则此正则表达式将执行您的命令
var hash = "#asdf/a/sdfid/Blah-blah-blah";
hash.match(/#(.+?)\/[^\/]*$/)[1]; // asdf/a/sdfid
只是为了好玩,这里有一些不使用正则表达式的版本。
id 部分没有斜线:
var hash = "#asdfasdfid/Blah-blah-blah",
idpart = hash.substr(1, hash.indexOf("/"));
id 部分有斜杠(最后一个斜杠是分隔符):
var hash = "#asdf/a/sdfid/Blah-blah-blah",
lastSlash = hash.split("").reverse().indexOf("/") - 1, // Finding the last slash
idPart = hash.substring(1, lastSlash);
关于Javascript substring() 诡计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3645484/
我有一个看起来像 http://mysite.com/#id/Blah-blah-blah 的 URL,它用于 Ajax-ey 位。我想使用 substring() 或 substr() 来获取 id
问题 作为大学项目的一部分,我目前正在使用 Swing GUI 使用 Java(在 Eclipse 中)构建生命游戏模拟器。除了一个小缺陷外,一切进展顺利 - 它适用于我的上网本,但不适用于我尝试过的
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: C++: Print out enum value as text 假设我有一个枚举: typedef en
我想在另一个诡计过程中导出或复制方案环境。我想象的算法会做这样的事情来序列化: (map (lambda (var val) (display (quasiquote (define ,var ,va
让我们看看我的代码 代码1: (eqv? 'lambda 'quote) 返回#f 代码2: (case 'lambda ('quote "equal") (else "not equal")) 返回
我正在或多或少地尝试通过 syntax-rules 重新创建一个 let 结构,但它似乎因使用两个省略号而被绊倒。 我试过这样写: (define-syntax if-let (syntax-ru
我是一名优秀的程序员,十分优秀!