草庐IT

Preg_split

全部标签

PHP preg_replace 除了括号内的所有逗号

我正在尝试格式化sql语句以使其更易于阅读。$sql="SELECTtitle,url,author,FROM_UNIXTIME(published,'%Y')ASyearFROMarticlesWHEREidIN(2010,2011,2012)";预期结果:SELECTtitle,url,author,FROM_UNIXTIME(published,'%Y')ASyearFROMarticlesWHEREidIN(2010,2011,2012)它只是让像SELECT、FROM、WHERE...这样的关键字在它们自己的行上,然后在每个逗号后插入一个换行符+制表符,但不是括号内的那些逗号

php - 如何 preg_match 第一次出现在字符串中

我正在尝试从电子邮件正文中提取From:address。这是我目前所拥有的:$string="From:user1@somewhere.comThisisjustatest..theoriginalmessagewassentFrom:user2@abc.com";$regExp="/(From:)(.*)/";$outputArray=array();if(preg_match($regExp,$string,$outputArray)){print"$outputArray[2]";}我想获取第一次出现From:..的电子邮件地址,有什么建议吗? 最佳答

php - 使用 preg_match_all 将所有数字与正则表达式匹配

我有一个文本,并尝试为其中的每个3号数字添加链接。我使用带有模式的preg_match_all:(^|[^\d])(\d{3})($|[^\d])此处使用分组来仅将链接添加到数字,而不添加到它们的邻居。测试用例是:a123234b-必须匹配123和234a123_234b-必须匹配123和234aa123234b-必须匹配123和234a0123234b-必须匹配仅234123a234b-必须匹配123和234a123234-必须匹配123和234测试2和3工作正常,其他测试失败,因为2个数字之间有空格。如何匹配两个数字之间只有1个空格? 最佳答案

php - 拼图 : Splitting An HTML String Correctly

我正在尝试通过标记拆分HTML字符串,以便在不显示完整帖子的情况下创建博客预览。这比我最初想象的要更难。以下是问题:用户将创建HTML通过所见即所得的编辑器(CKEditor)。标记不能保证是漂亮或一致。token,read_more(),可以放置在字符串中的任何位置,包括嵌套在段落标记。得到的第一个分割字符串必须是对所有人有效的HTML代币的合理使用。可能的用途示例:Sometexthere.read_more()Sometextreadmore()here.read_more()read_more()read_more()到目前为止,我已经尝试过只拆分token上的字符串,但它留下

PHP mb_ereg_replace 不替换而 preg_replace 按预期工作

我正在尝试用空字符串替换字符串中的所有非单词字符(不包括空格),并将所有多个空格放在一起作为一个空格。以下代码执行此操作。$cleanedString=preg_replace('/[^\w]/','',$name);$cleanedString=preg_replace('/\s+/','',$cleanedString);但是当我尝试使用mb_ereg_replace时,什么也没有发生。$cleanedString=mb_ereg_replace('/[^\w]/','',$name);$cleanedString=mb_ereg_replace('/\s+/','',$clean

Java String.split(),如何防止新数组中出现空元素

我有一个像这样的字符串Strings="hello.are..you";Stringtest[]=s.split("\\.");test[]包含4个元素:helloareyou如何使用split()生成三个非空元素? 最佳答案 你可以使用量词String[]array="hello.are..you".split("\\.+");要处理前导.字符,您可以这样做:String[]array=".hello.are..you".replaceAll("^\\.","").split("\\.+");

java - String类中的split方法和Apache StringUtils中的split方法有什么区别?

我正在逐行读取一个文件,并希望根据特定的分隔符拆分每一行。我在String类和StringUtils类中找到了一些可用的选项。所以我的问题是哪个是更好的选择,为什么? 最佳答案 这取决于用例。What'sthedifference?String[]拆分(String正则表达式)String[]results=StringUtils.split(Stringstr,StringseparatorChars)Apacheutilssplit()是null安全的。StringUtils.split(null)将返回null。JDK默认不是

java - 使用 split 返回的数组的第一个元素总是安全的吗?

我很确定答案是肯定的,但我只是想确认,在任何情况下,非空字符串(无论它包含什么)都会返回除作为第一个成员的有效字符串之外的任何内容拆分返回的数组。换句话说。Stringfoo="";//or"something"or"abc"oranyvalidstringatallString[]bar=foo.split(",")[0];我的理解是bar永远不会为null并且赋值行不可能失败。如果在字符串中找不到定界符,它只会返回完整的foo作为返回数组的第一个元素。 最佳答案 不,,ItmayfailArrayIndexOutOfBound如

java - 如何使用 String.split (","导入 CSV 文件,而不会因空白字段而缩短数组?

目前,当我使用String.split(",")逐行导入CSV文件时,如果有一行看起来像"foo,,bar,,fizz,,,"该方法返回一个长度为5的数组,类似于["foo","","bar,"","fizz"]。如何获取返回长度为8的数组的方法["foo","","bar","","fizz,"","",""]? 最佳答案 还有一个overloadofsplit实现了这一点:string.split(",",-1); 关于java-如何使用String.split(","导入CSV文件

Java .split ("|") 不工作

我刚遇到splitmethod的问题对于字符串不适用于字符“|”作为论据。它以某种方式分隔字符串中的每个字符。代码:String[]res="12345|6".split("|");Log.d("split",Arrays.toString(res));输出:split﹕[,1,2,3,4,5,|,6] 最佳答案 在|之前使用转义字符如下所示:String[]res="12345|6".split("\\|");需要类似的“转义字符逻辑”,当你处理/拆分以下任何特殊字符(由正则表达式):或符号(|)问号(?)星号(*)加号(+)反斜