我有一个字符串文本,说一些 Lorem Ipsum 的东西。 我想匹配相对于给定位置左侧的第一个空格。
示例:Lorem ipsum dolor sat amet...
,索引:10
索引 10 留下的第一个空格将是 Lorem
和 ipsum
之间的空格。
这背后的故事:我想以特定长度中断文本(svg - 无自动中断)。因此,我仅测量整个文本长度(速度问题)并估计哪一个位置将进入一行。因为我想在单词边界处分割,所以我需要找到左边最近的空白。
正则表达式有什么线索可以做这样的事情吗?
//编辑:字边界不仅可以是空格,还可以是制表符或其他东西(\s
)
最佳答案
你可以做这样的事情......
//your parameters are here
var originalString = "a really long string to abbreviate";
var maxLength = 15;
//the actual logic that uses your parameters
var str = originalString.substring(0, maxLength);
var lastIndex = str.lastIndexOf(" ");
str = str.substring(0, lastIndex);
更新答案以解决您的新问题:
//your parameters are here
var originalString = "a really long string to abbreviate";
var maxLength = 15;
//the actual logic that uses your parameters
var str = originalString.substring(0, maxLength);
str = str.replace(/\s+\S*$/, "")
console.log(str);
归功于@user187291 here对于那个正则表达式。给他/她投一票!
关于javascript - 查找相对于字符串中给定位置左侧第一次出现的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33026645/