特定の文字数の後にある文字列から括弧で囲まれた部分文字列を削除する

モハン・バーブ

テキストの段落から文字列の一部を削除するタスクがあります。コンセプトは以下の通りです。

1)テキストの段落から括弧「(」および「)」内の文字列の部分を削除する必要があります。

2)次に、開始括弧が元の文字列の先頭から30文字を超える場合は、何も削除しないください

例:

$sample_string = 'Pete Fountain (born Pierre Dewey LaFontaine, Jr., July 3, 1930), is an American, New Orleans based clarinetist. According to a Belgian radio program ("La troisieme oreille", produced by Marc Danval), his name was originally Pierre de la Fontaine.';

$output_string = 'Pete Fountain, is an American, New Orleans based clarinetist. According to a Belgian radio program ("La troisieme oreille", produced by Marc Danval), his name was originally Pierre de la Fontaine.'

注意:

閉じ括弧「)」は文字列の30文字を超えていますが、それでも文字列のセクションを削除する必要があります。

括弧で囲まれたテキストの多くのセットは、30番目の文字で表示できます。

ニハト

これがあなたの関数です。「文字列(もう少し文字列(もう少し)いくつかのテキスト)」などの別の括弧内の括弧に対しても機能します。

$ distanceは、開き括弧を先頭から離しておく文字数です(この場合は30文字)。

function remove($str, $distance) {
$arr = explode('(', $str);
// if first opening paranthesis is not farther away from distance or if there are no 
// parentheses at all, just return the same string 
if (strlen($arr[0]) >= $distance || count($arr) === 1) {
    return $str;
}

// get the position of first character after the first opening parenthesis 
$currentPos = strlen($arr[0])+1;
$open = '(';
$close = ')';
$openCount = 1;

// loop through each character to find the matching closing parenthesis 
while ($currentPos < strlen($str)) {
    $char = substr($str, $currentPos,1);

    // if we find another opening parenthesis, increase the opening parentheses count
    if ($char == $open) {
        $openCount++;
    }

    // if we find a closing parenthesis, decrease openening parentheses count 
    if ($char == $close) {
        $openCount--;
    }
    // when opening parentheses count is zero, that means we found closing parenthesis 
    // position, so now we can remove the substring between opening and closing 
    // parentheses, including the opening and closing parentheses, and return the 
    // result 
    if ($openCount === 0) {
        $parens = substr($str, strlen($arr[0]), $currentPos - strlen($arr[0])+1);
        return str_replace($parens, '', $str);
    }
    $currentPos++;
}

return $str;
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

括弧で囲まれた文字列の内側から部分文字列を抽出します。部分文字列にはスペースが含まれる場合があります

分類Dev

Pythonで最後まで、見つかった特定の部分文字列から文字列文字を削除します

分類Dev

文字列から特定の部分文字列のみを削除するにはどうすればよいですか?

分類Dev

Oracle-括弧で囲まれた部分文字列の削除

分類Dev

特定の文字列から部分文字列を削除するにはどうすればよいですか?

分類Dev

Java:特定の文字の後に始まる文字列から部分文字列を取得する

分類Dev

Swift 4で特定の文字から文字列の最後までの部分文字列を取得するにはどうすればよいですか?

分類Dev

特定の文字で始まる部分文字列を削除します

分類Dev

文字列内の特定の文字の後の文字を削除してから、部分文字列を削除しますか?

分類Dev

部分文字列を最後から特定の文字が最初に出現するまで切り取ります

分類Dev

正規表現:特定の文字で囲まれている部分文字列を削除するにはどうすればよいですか?

分類Dev

変数から特定の部分文字列の前にあるすべてのものを削除します

分類Dev

perl:特定の文字列で囲まれた部分文字列を抽出します

分類Dev

特定の文字列の後に部分文字列を取得する方法

分類Dev

特定の部分文字列の後に文字列を取得するにはどうすればよいですか?

分類Dev

文字列の最初または最後の文字である場合にのみ、文字列から特定の文字を削除する方法。

分類Dev

括弧内にない最後の大文字の単語から始まる部分文字列を文字列の最後に一致させます

分類Dev

特定の単語の後の文字列から部分文字列を取得する

分類Dev

PHPの文字列から文字列および特定の部分文字列の先頭にある空白または角かっこを検出します

分類Dev

Swiftの最初と最後の文字を知っている文字列から部分文字列を削除します

分類Dev

文字列から部分文字列を取得する(一重引用符で囲まれた文字)(Python)

分類Dev

Pythonで文字列の末尾から部分文字列を削除するにはどうすればよいですか?

分類Dev

指定された部分文字列で始まる単語の最初から最後まで部分文字列を取得する方法-Ruby

分類Dev

Javaの文字列から部分文字列を削除する方法

分類Dev

文字列の末尾から部分文字列を削除する方法

分類Dev

javascriptの文字列から部分文字列を削除するにはどうすればよいですか?

分類Dev

Pythonで文字列のリストの最後にある複数の部分文字列を削除するにはどうすればよいですか?

分類Dev

Ruby on Rails:文字列から特定の部分文字列を取得する

分類Dev

文字列の最後の文字を削除するために、部分文字列または置換はより高速ですか?

Related 関連記事

  1. 1

    括弧で囲まれた文字列の内側から部分文字列を抽出します。部分文字列にはスペースが含まれる場合があります

  2. 2

    Pythonで最後まで、見つかった特定の部分文字列から文字列文字を削除します

  3. 3

    文字列から特定の部分文字列のみを削除するにはどうすればよいですか?

  4. 4

    Oracle-括弧で囲まれた部分文字列の削除

  5. 5

    特定の文字列から部分文字列を削除するにはどうすればよいですか?

  6. 6

    Java:特定の文字の後に始まる文字列から部分文字列を取得する

  7. 7

    Swift 4で特定の文字から文字列の最後までの部分文字列を取得するにはどうすればよいですか?

  8. 8

    特定の文字で始まる部分文字列を削除します

  9. 9

    文字列内の特定の文字の後の文字を削除してから、部分文字列を削除しますか?

  10. 10

    部分文字列を最後から特定の文字が最初に出現するまで切り取ります

  11. 11

    正規表現:特定の文字で囲まれている部分文字列を削除するにはどうすればよいですか?

  12. 12

    変数から特定の部分文字列の前にあるすべてのものを削除します

  13. 13

    perl:特定の文字列で囲まれた部分文字列を抽出します

  14. 14

    特定の文字列の後に部分文字列を取得する方法

  15. 15

    特定の部分文字列の後に文字列を取得するにはどうすればよいですか?

  16. 16

    文字列の最初または最後の文字である場合にのみ、文字列から特定の文字を削除する方法。

  17. 17

    括弧内にない最後の大文字の単語から始まる部分文字列を文字列の最後に一致させます

  18. 18

    特定の単語の後の文字列から部分文字列を取得する

  19. 19

    PHPの文字列から文字列および特定の部分文字列の先頭にある空白または角かっこを検出します

  20. 20

    Swiftの最初と最後の文字を知っている文字列から部分文字列を削除します

  21. 21

    文字列から部分文字列を取得する(一重引用符で囲まれた文字)(Python)

  22. 22

    Pythonで文字列の末尾から部分文字列を削除するにはどうすればよいですか?

  23. 23

    指定された部分文字列で始まる単語の最初から最後まで部分文字列を取得する方法-Ruby

  24. 24

    Javaの文字列から部分文字列を削除する方法

  25. 25

    文字列の末尾から部分文字列を削除する方法

  26. 26

    javascriptの文字列から部分文字列を削除するにはどうすればよいですか?

  27. 27

    Pythonで文字列のリストの最後にある複数の部分文字列を削除するにはどうすればよいですか?

  28. 28

    Ruby on Rails:文字列から特定の部分文字列を取得する

  29. 29

    文字列の最後の文字を削除するために、部分文字列または置換はより高速ですか?

ホットタグ

アーカイブ